【发布时间】:2011-10-17 22:18:44
【问题描述】:
我使用 EF CTP 5 Code First。如果您要求 EF 为这样的模型生成数据库,它将为您创建适当的外键关系:
public class Parent
{
public ICollection<Child> MyChildren { get; set; }
}
public class Child
{
public Parent MyParent { get; set; }
}
由于这样的生成,子表将有类似 MyParent_Id 字段的内容。现在我遇到了相反的问题 - 我有一个 Db 模式,我必须为其构建类似的简单模型。通过类似的简单,我的意思是没有任何明确的外键属性。有什么办法吗?
我发现进行映射的唯一方法如下所示,但这意味着在我试图避免的模型中具有公共属性 MyParentId。那么如何避免呢?
public class Child
{
[Column("ParentID")]
public int MyParentId { get; set; }
[ForeignKey("MyParentId")]
public Parent MyParent { get; set; }
}
提前致谢
【问题讨论】:
-
自 CTP5 以来发布了 3 个版本,因此您应该立即升级到 Entity Framework 4.1 Update 1
-
拉迪斯拉夫,好消息。我会更新的。感谢您提供此信息
标签: entity-framework ef-code-first code-first entity-framework-ctp5