我有一个linq-to-sql数据库,我想在其中记录对实体所做的一些更改。现在,我通过读取DataContext.GetChangeSet()。Updates属性来获取更新的实体,但这并没有为我提供已更改的实体的字段。
有没有办法知道在更新后的实体中修改了哪些字段??
由于
答案 0 :(得分:19)
DataTable有一个方法GetModifiedMembers,它将返回已为指定实体实例更改的成员列表。
DataClasses1DataContext context;
Class1 instance = context.GetChangeSet().Updates.OfType<Class1>().First();
context.Class1s.GetModifiedMembers(instance);