[英]Updating using code first in Entity Framework 5 with detached entities
我正在開發一個帶有分離實體的n層應用程序(Visual Studio 2010)。 我沒有包含類定義,因為它們似乎與邏輯無關。
以下代碼段正常工作,並嵌入在using dbContext
。
dbContext.Entry(Case).State = Case.CaseID == 0 ? EntityState.Added : EntityState.Modified;
dbContext.Entry(Case.Woman).State = Case.Woman.CaseID == 0 ? EntityState.Added : EntityState.Modified;
dbContext.Entry(Case.Summary).State = Case.Summary.CaseID == 0 ? EntityState.Added : EntityState.Modified;
dbContext.SaveChanges();
我在Summary類中添加了一個集合ICollection<Cause> Causes
。
我想做的是:
Cause
是否與最近保存的Cause
相同,如果是,則更改已保存Cause
中的標志值 Cause
插入dbContext
Cause
類中有一個標志IsCurrent
; 只有一條記錄設置為true
; 如果新Cause
與此Cause
不同,則需要將其設置為false
。
我會歡迎以代碼優先的方式來做這件事。
這樣的事情應該有效:
using (...)
{
Cause c = db.Causes.FirstOrDefault(ce => ce.IsCurrent == true);
if (cause.Title != c.Title)
{
c.IsCurrent = false;
cause.IsCurrent = true;
}
//
// other codes ...
//
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.