簡體   English   中英

實體框架:具有相同類問題的兩個屬性

[英]Entity Framework: Two propertes with same class issue

由於我對EntityFramwork的經驗不足,因此遇到了問題。 我需要跟蹤哪個用戶創建了事務,以及哪個用戶修改了該事務。 這意味着我有兩個具有相同類的屬性。

這是“事務類”中的屬性列表:

public virtual System.DateTime DateCreated { get; set; }
public virtual System.DateTime DateModified { get; set; }
public virtual bool IsDeleted { get; set; }
public virtual bool IsActive { get; set; }
public virtual string Description { get; set; }

public virtual User CreatedBy { get; set; }
public virtual User ModifiedBy { get; set; }

每當調用context.SaveChanges()都會出現以下異常:

Unable to determine the principal end of an association between the types 'Model.Entities.User' and 'Model.Entities.User'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations.

您應該在dbcontext類中重寫OnModelCreating方法,並添加以下代碼

 modelBuilder.Entity<Transaction)()
 .HasOptional<User>(x => x.CreatedBy);


 modelBuilder.Entity<Transaction)()
 .HasOptional<User>(x => x.ModifiedBy);

當然也可以需要HasOptional。

暫無
暫無

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

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