1
假设我有一个Post
实体,并且我想将所有更改存储到发布对象,所以我也有一个PostHistory
实体。现在我将历史定义为这样的:如何让一个实体的主键成为EF4代码优先的另一个实体?
public class PostHistory
{
public virtual Post Post { get; set; }
//... properties of the posthistory object
}
问题是我无法弄清楚如何让它与EF4 Code-First一起工作。起初,模型构建失败,因为没有为PostHistory
定义主键。所以在我的语境下我打电话
modelBuilder.Entity<PostHistory>().HasKey(x => x.Post);
并出现以下异常:
System.MissingMethodException: No parameterless constructor defined for this object..
该异常不是在谈论没有参数的构造函数的PostHistory
对象,因为我加了一个才没有帮帮我。
任何想法如何做到这一点?
啊我没有意识到有一个int PostId属性我可以做到这一点。尽管如此,如果我改变`Post`的主键类型,那会让事情变得混乱 – KallDrexx 2011-02-19 17:58:45