[英]Azure Staged deployment : Entity Framework Code First Migrations not executed of swap
[英]Where is this code with Entity Framework 6.44 executed?
如果我创建A
ICollection<A>
,例如 (T is A)
public virtual T Children
{
get
{
return ICollection<T>;
}
set
{
ICollection<T> = value;
}
}
实体查找在哪里执行? 在代码中还是在 SQL 服务器中? EF 喜欢这个解决方案吗?
补充:问题...我有一个 10 年前的旧系统,带有 nHibernate(版本 1.X)和 c#。 它以链形式继承,使写入数据库的类具有一定的标记。 每个人都继承了一组groundproperties,有些人有子/父关系(来自遗留代码)
public abstract class GroundpropertiesTreeBaseEntity<T> : GroundpropertiesEntity
{
[JsonIgnore]
public virtual T Parent { get; set; }
public virtual IList<T> Children { get; set; }
}
如果我在数据库中查看生成的内容,每个人都有自己实体的 parentID。
但是如果我在 EF 中尝试这个,问题将是如何命名 T Parent 外键。 它期望它是类型 T 然后是 _Id 而不是其他任何东西。 您可以为此编写别名,但它不会解决 Id 问题,因为您无法编写 [Foreignkey(GetType(T)+"_Id"]。如果我无法找到解决方案来完成这项工作,那么我宁愿使用非常疯狂的解决方案不这样做,因为我会重写整个系统,因为有很多方法使用这种语法来处理它的类。
我希望这可以解决这个问题。
我通过在每个类中编写 [Foreignkey("ThegenericKeyName")] 解决了这个问题。 处理通用基类不是一个好的或漂亮的解决方案,但它解决了问题。
继承属性外键class,然后将_Id添加到放置它的属性的名称中,然后将其发送到外键属性基类名称属性。 但是我没时间了,所以我选择了第一个解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.