public class Foo
{
public string FooId{get;set;}
public Boo Boo{get;set;}
}
public class Boo
{
public string BooId{get;set;}
public Foo Foo{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
当我收到错误时,我试图在Entity Framework中执行此操作:
无法确定类型"ConsoleApplication5.Boo"和"ConsoleApplication5.Foo"之间关联的主要结束.必须使用关系流畅API或数据注释显式配置此关联的主要结尾.
我已经在StackOverflow上看到了有关此错误的解决方案的问题,但我想了解术语"主要结束"的含义.
c# database-design entity-framework foreign-key-relationship
我们希望使用Entity Framework Code First使用一对一的可选关系.我们有两个实体.
public class PIIUser
{
public int Id { get; set; }
public int? LoyaltyUserDetailId { get; set; }
public LoyaltyUserDetail LoyaltyUserDetail { get; set; }
}
public class LoyaltyUserDetail
{
public int Id { get; set; }
public double? AvailablePoints { get; set; }
public int PIIUserId { get; set; }
public PIIUser PIIUser { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
PIIUser可能有LoyaltyUserDetail但LoyaltyUserDetail必须有PIIUser.我们尝试了这些流畅的方法技巧.
modelBuilder.Entity<PIIUser>()
.HasOptional(t => t.LoyaltyUserDetail)
.WithOptionalPrincipal(t => t.PIIUser)
.WillCascadeOnDelete(true);
Run Code Online (Sandbox Code Playgroud)
这种方法没有 …
我正在尝试绘制描述以下内容的ER图:
- "部门"雇用"员工"
- 有些"员工"是"特殊的",有更多的属性
- 一些"员工"("特殊"和非特殊)是"经理"
- "经理人"管理"部门"
所以,为了传达这一点,我有:
Department ------(employs)------- Employee-----<--------Special
| |
|-----------(manages)----------
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我不能在2个实体之间建立2个关系.那我怎么处理这种情况呢?
database database-design entity-relationship database-schema