我是 Entity Framework 的新手,我正在努力处理从我的 POCO 类创建的数据库。我有一个看起来像这样的通用类:
public class Comment
{
public int Id { get; set; }
public string Text { get; set; }
public DateTime CreatedDate { get; set; }
}
并且可以将注释添加到许多对象中,例如 Person 和 Vehicle,所以我将拥有这些类
public class Person
{
public int Id { get; set; }
public List<Comment> Comments { get; set; }
}
和
public class Vehicle
{
public int Id { get; set; }
public List<Comment> Comments { get; set; }
}
当 EF 生成我的数据库时,它添加了 Person_Id 和 Vehicle_Id,这对我来说是不正确的,因为:a)它表明评论与人和车辆有关,它实际上应该是一个“独立”对象 b)评论可以是添加到需要更改表的未来对象。
我怎样才能让 EF 宁愿为此使用链接表?
(注意:我不能也不想向 Comment 类添加导航属性,因为每次新对象需要评论时都需要更改类,并且我的评论类在我的通用库中,与人或车辆无关)
我找到了这篇文章,但我很难从中得到答案:http ://weblogs.asp.net/manavi/archive/2011/05/17/associations-in-ef-4-1-code-第一部分 6-many-valued-associations.aspx