【发布时间】:2011-10-18 22:13:54
【问题描述】:
我想根据下面的类字典创建下表。添加记录时出现异常。这个映射有什么问题?如果我将“B”类的子属性指向另一个类(例如“C”),则此代码有效。
database table
table A {id, name}
table B {parentId, childId, Type}
类和映射
Public class A
{
public int Id {get;set;}
public string Description {get;set;}
}
Public class B
{
[Key, Column(Order=0)]
public int ParentId {get;set;}
[Foreignkey("ParentId")]
public A Parent {get;set;}
[Key, Column(Order=1)]
public int ChildId {get;set;}
[Foreignkey("ChildId")]
public A Child {get;set;}
[Key, Column(Order=2)]
public string Type {get;set;}
}
更新
错误消息是: 在表“B”上引入 FOREIGN KEY 约束“B_Parent”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。 无法创建约束。查看以前的错误。
谢谢,
阿什拉夫
【问题讨论】:
-
我看不出这个映射有什么问题。您能否提供有关引发异常的代码的外观以及异常消息究竟是什么的信息?
-
@Slauma 和 Ladislav,更新了错误信息
标签: entity-framework-4 entity-framework-4.1 ef-code-first