我有这些课程。
public class Foo
{
public int FooId { get; set; }
public string FooName { get; set; }
}
public class Bar
{
public int BarId { get; set; }
public int FooId { get; set; }
public string BarName { get; set; }
public Foo Foo { get; set; }
}
public class Fox
{
public int FoxId { get; set; }
public int BarId { get; set; }
public string FoxName { get; set; }
public Bar Bar { get; set; }
}
是否可以确定将key
用作外键?比方说,在Bar
课程中,我想将FooId
指定为Foo
课程的外键,它与Fox
相同,指定BarId
为FK到Bar
。
使用流畅的api。它会自动将主键指定为外键。有没有办法覆盖它?
另外,我想问一下这个设计是好还是坏。这是一个合理的设计吗?或者我应该为他们创建一个类?
请让我知道你的想法。
修改
尽可能地,我不想在我的课程中使用数据注释。
答案 0 :(得分:1)
如果您想要一对一的关系,您的主键也应该是外键。例如,在类Bar
中FooId
应该是主键和外键。请参阅此链接以获取解释:http://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-first.aspx