[英]Mapping Properties of type of Complex Type to DB Columns in EF 6 using code first and custom EntityTypeConfiguration implementation
这是我的第一次活动,堆栈溢出很大,但是绝对不是我第一次访问该网站。
我的问题:
在我们的项目中,我们正在扩展EntityTypeConfiguration以控制通过代码优先流利的API将实体映射到DB的控制。
我感到困惑的是如何在派生配置的ctor中包括复杂类型的配置,即可以通过基本EntityTypeConfiguration的“ Property”方法配置基本属性,但是在对类型的属性调用此方法时对于复杂类型,项目构建将在被调用的方法处停止。
实际上,数据库将由包含多列的实体表生成,这些列使用"PROPERTYNAME_INNERFIELDNAME"
命名约定代表嵌入式复杂类型的字段,即使复杂类型是类类型也是如此。
因此,如果复杂类型为类类型,我不知道该如何克服。
感谢您的友好考虑。
我的代码:
class Entity
{
long Id;
Address Addr;
}
class Address
{
string City;
string ZipCode;
}
class EntityConfig : EntityTypeConfiguration<Entity>
{
EntityConfig()
{
Property(p=>p.Addr); //Build error
}
}
首先,感谢亲爱的Bardware。
我的问题已通过使用以下配置解决:
Property(p=>p.Addr.City);
Property(p=>p.Addr.ZipCode);
实际上,我不能使用“ ComplexTypeConfiguration”代替EntityTypeConfiguration,因为我会失去使用HasKey,HasRequired等的机会。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.