gpt4 book ai didi

c# - 获取 LINQ-to-SQL 变更集中对象的原始副本

转载 作者:行者123 更新时间:2023-11-30 16:25:18 31 4
gpt4 key购买 nike

使用 LINQ-to-SQL 时,可以通过调用 DataContext.GetChangeSet() 获取一组将被更新、插入或删除的对象数组。如果存在冲突,DataContext.ChangeConflicts 属性将为您提供对原始对象和已更改对象的引用。如果没有冲突,有没有办法访问原始和更改的对象?

这需要适用于未实现 INotifyPropertyChanging/INotifyPropertyChanged 的实体。

最佳答案

var db = new DataContext();
db.GetChangeSet().Updates.ForEach(o => {
var currentObject = o;
var originalObject = db.GetTable(o.GetType()).GetOriginalEntityState(o);
var changedProperties = db.GetTable(o.GetType()).GetModifiedMembers(o);
});

关于c# - 获取 LINQ-to-SQL 变更集中对象的原始副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093727/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com