簡體   English   中英

使用分離的實體首先在Entity Framework 5中使用代碼進行更新

[英]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.

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