如何确定Linq-To-Sql对象中哪些字段已更改

时间:2009-09-04 10:15:27

标签: c# .net linq-to-sql

我有一个linq-to-sql数据库,我想在其中记录对实体所做的一些更改。现在,我通过读取DataContext.GetChangeSet()。Updates属性来获取更新的实体,但这并没有为我提供已更改的实体的字段。

有没有办法知道在更新后的实体中修改了哪些字段??

由于

1 个答案:

答案 0 :(得分:19)

DataTable有一个方法GetModifiedMembers,它将返回已为指定实体实例更改的成员列表。

DataClasses1DataContext context;
Class1 instance = context.GetChangeSet().Updates.OfType<Class1>().First();
context.Class1s.GetModifiedMembers(instance);