第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Ef 核心不跟蹤子集合的更改

Ef 核心不跟蹤子集合的更改

C#
慕桂英3389331 2021-10-31 19:13:06
我有這些模型public class WarehouseAllocation{   public int Id { get; set; }   public Warehouse Warehouse { get; set; }   public IList<Dispatch> Dispatches { get; set; }   //---- removed other properties for brevity}public class Dispatch {   public int Id { get; set; }   public IList<DispatchDetail> DispatchDetails { get; set; }   //---- removed other properties for brevity}在數(shù)據(jù)庫(kù)上,Dispatch 有一個(gè)引用 WarehouseAllocation 表的外鍵 WarehouseAllocationId。我使用 Fluent API 將模型映射到數(shù)據(jù)庫(kù),如下所示:modelBuilder.Entity<WarehouseAllocation>(m =>{    m.ToTable("WarehouseAllocation");    m.Property(wa => wa.Id).HasColumnName("WarehouseAllocationId")         .ValueGeneratedOnAdd();    m.HasKey(wa => wa.Id);    m.HasOne(wa => wa.Warehouse)        .WithMany()        .HasForeignKey("WarehouseId");    m.HasMany(w => w.Dispatches)        .WithOne();});modelBuilder.Entity<Dispatch>(m =>{    m.ToTable("Dispatch");    m.Property(wa => wa.Id).HasColumnName("DispatchId")         .ValueGeneratedOnAdd();    m.HasKey(wa => wa.Id);});當(dāng)我調(diào)用 時(shí) dbContext.WarehouseAllocations             .Include(w => w.Dispatches)             .ThenInclude(w => w.DispatchDetails).ToList(),Ef 核心檢索所有倉(cāng)庫(kù)分配及其調(diào)度,包括詳細(xì)信息。問(wèn)題是當(dāng)我使用這種方法時(shí):var warehouseAllocation = dbContext.WarehouseAllocations    .Include(w => w.Dispatches)    .ThenInclude(d => d.DispatchDetails)    .SingleOrDefault(w => w.Id == warehouseAllocationId);warehouseAllocation.Dispatches.Add(new Dispatch{   //--including other properties   DispatchDetails = new List<DispatchDetail> {       new DispatchDetail       {          //--other properties       }   }});// call another query that includes WarehouseAllocationdbContext.ChangeTracker.HasChanges() // this is falsedbContext.SaveChanges() // this keeps returning zero為什么沒(méi)有檢測(cè)到變化?
查看完整描述

2 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果你改變:


 var warehouseAllocation = dbContext.WarehouseAllocations

 .Include(w => w.Dispatches)

 .SingleOrDefault(w => w.Id == warehouseAllocationId);

到:


 var warehouseAllocation = dbContext.WarehouseAllocations

 .Include(w => w.Dispatches)

 .ThenInclude(d => d.DispatchDetail)

 .SingleOrDefault(w => w.Id == warehouseAllocationId);

它應(yīng)該通知 EF 您希望將 DispatchDetail 包含到其更改跟蹤器中。這也DispatchDetail將從數(shù)據(jù)庫(kù)中提取w 的所有值。


查看完整回答
反對(duì) 回復(fù) 2021-10-31
  • 2 回答
  • 0 關(guān)注
  • 286 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)