Eri*_*ric 5 .net c# entity-framework ef-code-first
我有一些看起来像这样的域类,我想用Code First建模(在EF 4.3中).
public class Foo {
    // ...
}
public class Bar {
    // ...
    public Foo Foo { get; set; }
}
public class Baz {
    // ...
    public Foo Foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我看到的每个例子中,在Foo类中添加了外来对象引用.我的Foo班级可以Bar和Baz班级无关,还是我真的需要做这样的事情?
public class Foo {
    // ...
    public virtual Bar { get; set; }
    public virtual Baz { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
根据这个答案,类就需要有导航属性.我是Code First的新手,所以有人可以解释为什么会出现这种情况吗?有没有办法可以Foo通过使用Fluent API 来避免像这样污染我的类?
对我来说,Foo需要了解每个使用它的课程,这似乎很奇怪.我的设计在某种程度上是否存在根本性的缺陷?
另一个答案部分正确。
如果您希望 code-forst通过表之间的关系来引导数据库模型,您必须至少在一个类中定义导航属性。
当然,没有关系,映射也可以工作,但是您不会受到数据库/sql 级别的约束。除非您通过迁移或其他一些 sql 脚本添加它们。
尽管在你的例子中我不太确定你想要定义什么样的关系。这应该是一对一的关系吗?
在这种情况下, Foo 不需要知道任何其他对其有引用的类,正如链接问题中所回答的那样,只有一个类需要拥有它。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           378 次  |  
        
|   最近记录:  |