使用实体作为属性,但使其成为复杂类型

巴里

我有一个实体(A),它在自己的表中存储数据。我想将此实体作为另一个实体(B)的属性,但将其所有数据存储在实体B的表中(有点像复杂类型),因此我可以在那时编写该实体的确切值。

我已经尝试过自己做,但是实体B始终将实体A视为外键,即使该属性不是虚拟的,我也尝试了继承工作,但不能正常工作。我可以精确复制实体A的类型并将其分配给它来解决它,但我是DRY的忠实粉丝,觉得它只会增加不必要的复杂性。

提前致谢

编辑:下面的代码,我无法发布原始代码,但这是它的外观

public class EntityA {

    [Key]
    public int id { get; set; } 

    public int prop1 { get; set; }

    public virtual AnotherEntity { get; set; }
}


public class EntityB {

    // foreign key as part of composite key
    // entity C code not included as doesn't
    // affect the problem
    [Key, Column(Order=0)] 
    public int EntityCId { get; set; }   

    public virtual EntityC { get; set; }

    // this is set as part of the composite key
    // as I want to use entity ID but 
    // not make the field foreign key
    [Key, Column(Order=1)]
    public EntityA saveInToEntityBTable { get; set; }     

}
巴里

解决它之后,您要做的就是抽象一个可以继承的基类。由于基类是抽象的,因此它将永远不会创建表,因此继承的类没有可链接的外键。

public class EntityA : EntityABase {


}

public abstract class EntityABase {

    [Key]
    public int id { get; set; } 

    public int prop1 { get; set; }

    public virtual AnotherEntity { get; set; }
}

public class EntityB : EntityABase {

    [Key]  
    public virtual EntityC { get; set; }

}

注意:如果您不想使用抽象类,则可以使用TPC(每种具体类型的表),但是我在迁移时遇到了问题,即没有在EntityB上为属性“ AnotherEntity”创建列或外键(实体A很好地创建了它们) )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用实体作为属性,但使其成为复杂的类型

来自分类Dev

重构EF6实体以使用复杂类型而不是使用多个属性

来自分类Dev

使用实体框架访问复杂类型的父实体

来自分类Dev

复杂类型引用的EagerLoad实体

来自分类Dev

无法解析复杂类型的属性

来自分类Dev

复杂类型属性的表达式

来自分类Dev

在OData查询中使用复杂类型

来自分类Dev

使用复杂类型扩展的XML验证

来自分类Dev

无效的列名,使用复杂类型

来自分类Dev

WSDLPull使用复杂类型输入

来自分类Dev

使用复杂类型扩展的XML验证

来自分类Dev

使用 targetNamespace 分离复杂类型的 XSD

来自分类Dev

如何在实体索引中包含复杂类型?

来自分类Dev

从实体框架中的复杂类型中检索值

来自分类Dev

具有Angular JS复杂类型集合属性的MVC模型绑定复杂类型

来自分类Dev

将Kendo DropDownList过滤器值作为复杂类型的对象类型属性传递时的问题

来自分类Dev

复杂类型字段

来自分类Dev

Ksoap复杂类型

来自分类Dev

忽略复杂类型的一个属性

来自分类Dev

客户端-微风,创建复杂类型的属性

来自分类Dev

忽略复杂类型的一个属性

来自分类Dev

属性类,System.Attribute,复杂类型

来自分类Dev

对具有复杂类型的多个属性进行GroupBy

来自分类Dev

Linq查询引发的实体或复杂类型无法在linq to实体中构造,即使我仅使用select new {..}删除了类名也是如此

来自分类Dev

在RedisTypedClient(ServiceStack Redis)中使用复杂类型

来自分类Dev

返回复杂类型以使用AJAX查看

来自分类Dev

如何使用Automapper映射此复杂类型

来自分类Dev

如何使用 OCI CLI 以 json 格式编写复杂类型?

来自分类Dev

返回复杂类型数组时,complextype实体的数据类型为null

Related 相关文章

热门标签

归档