我使用table-per-hierarchy继承创建了一个包含3个类的模型,并使用2个自引用层次结构表的外键创建了一个模型.
我有一个BaseProperty具有自引用键CloneID和导航属性的类Clone:
public class BaseProperty
{
public int ID {get; set; }
public int? CloneID {get; set; }
public BaseProperty Clone {get; set; }
//If I add this code, when I use Add-Migration -
//Sequence contains no elements error
//public int? TriggeredCloneID {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一个Property继承BaseProperty并具有外键BlockID和Block导航属性的类.
public class Property : BaseProperty
{
public int? BlockID { get; set; }
public Block { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个Block继承BaseProperty并具有Properties导航属性的类:
public class Block: BaseProperty
{
public ICollection<Property> Properties { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public int? ComputedNumberOfProperties { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
需要注意的是,Block在房地产Property类也是自参考,因为这两个Property和Block继承BaseProperty,我使用的table-per-层次结构的继承.
它一直在工作,并且处于具有实时数据的生产系统中.现在我想向int?基类添加一个字段(只是一个标准属性),当我添加一个迁移时,我得到一个"Sequence contains no elements"错误.
我在https://entityframework.codeplex.com/workitem/569上找到了未解决的问题,因此我尝试了所描述的解决方法并删除了自引用键和导航属性,但迁移失败并出现相同的错误.我现在看起来完全被串起来......
| 归档时间: |
|
| 查看次数: |
1324 次 |
| 最近记录: |