EntityFramework正在尝试获取不存在的列

时间:2017-05-08 06:26:02

标签: c# entity-framework ef-code-first entity-framework-6 data-annotations

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知道要获取什么?

0 个答案:

没有答案