EntityFramework試圖獲取不存在的列和外鍵屬性沒有幫助。EntityFramework試圖獲取不存在的列
在我的情況,我有兩個表與單一到多元的關係:
T_Blog
- Id
- FeaturedPost
T_Post
- Id
- BlogId
,我定義的實體數據模型
public class T_Blog
{
[Key]
public int Id {get;set;}
public int? FeaturedPostId {get;set;}
[ForeignKey("FeaturedPostId")]
public virtual T_Post FeaturedPost {get;set;}
public virtual ICollection<T_Post> Posts {get;set;}
}
public class T_Post
{
[Key]
public int Id {get;set;}
[Required]
public int BlogId {get;set;}
[ForeignKey("BlogId")]
public T_Blog Blog {get;set;}
}
而且具有這種元數據定義的EF試圖獲取T_Blog_Id
列每次我試圖執行db.T_Post.Where(...)。ToList();
我知道,只要我的T_Blog有兩個引用T_Post,那麼EF就是試圖獲取這兩個ID。
ps:是的,我知道這種類型的數據模型並不是最優的,但在我的情況下(至少現在)需要這種類型的非規範化。
如何正確定義第二個關係,以便EF知道要獲取什麼?
流利的API是偉大的,以避免這樣的困惑。我會給它一個鏡頭。到目前爲止,只要需要更少的代碼寫入,並且(更重要的是)在更改某些內容時重構的次數更少,屬性就會更方便。 –