c# – 如何判断linq to sql对象是新的,修改的还是未更改的?

我有一个linq到sql类.我想检测它是否是新的(意味着插入将完成)或者是否有任何挂起的更改(将进行更新).我意识到我可以通过使用部分类并挂钩每个属性的on change事件来实现这一点.然而,对于一个不断变化的课程来说,这是...

我有一个linq到sql类.我想检测它是否是新的(意味着插入将完成)或者是否有任何挂起的更改(将进行更新).我意识到我可以通过使用部分类并挂钩每个属性的on change事件来实现这一点.然而,对于一个不断变化的课程来说,这是一个很大的维护.

有没有更好的办法?

解决方法:

您可以查看DataContext课程.

首先,检查DataContext上的ObjectTrackingEnabled property.如果返回false,则上下文不会跟踪该对象.

然后,在DataContext上调用GetChangeSet method.从那里,将Deletes,Updates和Inserts属性公开的引用与您的对象进行比较.

如果在任何列表中找到引用,那么该列表将跟踪您的对象,您可以从那里继续.

本文标题为:c# – 如何判断linq to sql对象是新的,修改的还是未更改的?

基础教程推荐