我有以下代碼更新從強類型視圖返回的JobCard對象。但是,使用JobCard實體調用GetModifiedMembers
將返回JobCard的每個屬性,其中CurrentValue
和OriginalValue
都設置爲當前值。將LINQ中的更改合併到SQL實體
public int Update(BusinessObjects.JobCard model)
{
Poynting.Installation.DataObjects.LinqToSql.JobCard entity = JobCardMapper.ToEntity(model);
using (Database db = DataContextFactory.CreateContext())
{
try
{
//LinqToSql.JobCard origJobCard = db.JobCards.Single(jc => jc.JobID == model.InstallationDBNumber);
db.JobCards.Attach(entity, true);
db.SubmitChanges();
我懷疑這是因爲我們使用Attach
,而不是實際更新的附加實體。由於此更新由HttpPost操作方法調用,因此我們無法保留附加的實體。我猜測如果我不附加傳入的實體,而是使用它的值來更新附加的JobCard實體(從註釋掉的行開始),我的審計服務將檢測到正確的更改。
我在這裏的主要問題是:我必須遍歷entity
的每個屬性並在origJobCard
上設置相應的屬性,或者是否有某種合併操作可用於某處?