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每次尝试执行db {T_Post.Where(...)时都试图获取T_Blog_Id
列.ToList();
我知道只要我的T_Blog有两个对T_Post的引用,那么EF就会尝试获取两个ID。
ps:是的,我知道这种类型的数据模型不是最优的,但在我的情况下需要这种非规范化(至少截至目前)。
如何正确定义第二个关系,以便EF知道要获取什么?