我正在使用實體框架5和UnitOfWork +存儲庫模式。實體框架+存儲庫模式和外鍵更新沒有更新相關實體
我試圖創建以下實體:
public partial class ViaggioAttivita
{
public System.Guid Id { get; set; }
public System.Guid IdViaggio { get; set; }
public virtual Viaggio Viaggio { get; set; }
}
public partial class Viaggio
{
public System.Guid Id { get; set; }
public virtual ICollection<ViaggioAttivita> ViaggiAttivita { get; set; }
}
我注意到,當我創建新ViaggioAttivita實體填充IdViaggio,當我這樣做
ViaggioAttivita attivita = new ViaggioAttivita();
attivita.IdViaggio = ParentId;
unitOfWork.ViaggiAttivitaRepository.Insert(attivita);
的導航屬性attivita.Viaggio不會更新。
如果我直接更新attivita.Viaggio代替編號
ViaggioAttivita attivita = new ViaggioAttivita();
attivita.Viaggio = unitOfWork.ViaggiRepository.GetByID(ParentId);
unitOfWork.ViaggiAttivitaRepository.Insert(attivita);
課程的維亞焦得到更新,但IdViaggio鍵過於更新。
我錯過了什麼?
爲什麼我得到這種差異?
我試着調用一個.Save(),但沒有任何變化。
似乎只有手動更新實體時纔會更新關係,但如果我只更新密鑰,它們不會更新。
謝謝
編輯1:
我SQL Server上的2008年,MVC3,實體框架5(當然運行v4.0.30319)。數據庫優先模式。這兩個表有關係(當然,否則它不會使用第二種方法填充密鑰)。
編輯2:
我嘗試過去的一些EDMX信息;
<EntityType Name="Viaggio">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Name="Id" Type="Guid" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
<NavigationProperty Name="ViaggiAttivita" Relationship="DatabaseModel.FK_ViaggiAttivita_Viaggi" FromRole="Viaggi" ToRole="ViaggiAttivita" />
</EntityType>
<EntityType Name="ViaggioAttivita">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Name="Id" Type="Guid" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
<Property Name="IdViaggio" Type="Guid" Nullable="false" />
<NavigationProperty Name="Viaggio" Relationship="DatabaseModel.FK_ViaggiAttivita_Viaggi" FromRole="ViaggiAttivita" ToRole="Viaggi" />
</EntityType>
<AssociationSet Name="FK_ViaggiAttivita_Viaggi" Association="DatabaseModel.FK_ViaggiAttivita_Viaggi">
<End Role="Viaggi" EntitySet="Viaggi" />
<End Role="ViaggiAttivita" EntitySet="ViaggiAttivita" />
</AssociationSet>
你的配置是什麼樣的? – IronMan84 2013-02-15 14:04:38
你是什麼意思?我在Sql Server 2008,MVC3,實體框架5(當然是運行時v4.0.30319)。數據庫優先模式。這兩個表有關係(當然,否則它不會使用第二種方法填充密鑰)。 – 2013-02-15 14:24:59
對。請向我展示定義的關係(在Fluent API或您的數據註釋中)。 – IronMan84 2013-02-15 14:49:59