簡體   English   中英

ObjectStateEntry.GetModifiedProperties 返回空列表

[英]ObjectStateEntry.GetModifiedProperties returns empty list

我正在使用以下測試代碼:

var dataEntry = dbContext.DataEntries.Where(de => de.ID == 1).Single();

dataEntry.myBooleanProp = !dataEntry.myBooleanProp;

var dataEntryObjectStateEntry = ((IObjectContextAdapter)mapi.db)
    .ObjectContext
    .ObjectStateManager
    .GetObjectStateEntry(dataEntry);

var modifiedProps = dataEntryObjectStateEntry.GetModifiedProperties();

現在我會考慮,我的myBooleanProp屬性將是modifiedProps列表的一部分。 但是,列表的長度為 0。但是為什么呢?

PS:

dataEntryObjectStateEntry.OriginalValues["myBooleanProp"]dataEntryObjectStateEntry.CurrentValues["myBooleanProp"]每個都包含正確的值。

我找到了解決方案。 在我的場景中,需要調用dbContext.ChangeTracker.DetectChanges(); 預先。 只有在那之后,實體框架才真正為所有實體設置“修改”標志。 這就是GetModifiedProperties()方法工作所需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM