Ric*_*ard 10 entity-framework entity-framework-5
我想[Required]
在Entity Framework中的复杂类型上定义属性.例如,我有一个Customer
可选的实体Address
.Address实体具有必需PostCode
属性.
[ComplexType]
public class Address {
public string Address1 { get; set; }
[Required]
public string PostCode { get; set; }
}
public class Customer {
public int CustomerId {get;set;}
public Address Address {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我不想将我的Complex类型存储为一个单独的实体(我实际上并没有使用Address,这只是一个简单的问题说明).我不能将Customer.Address留空,因为这会给出错误:
非可空成员的空值.成员:'地址'.
如果我提供一个空的Address实体,由于Required属性,验证在PostCode字段上失败.
有没有办法实现这个目标?我正在使用EF5/NET4.5.
使用复杂类型是不可能的.如果希望它可以为空,则需要创建一个Address实体.
EF对复杂类型的作用是将属性映射到同一个表 - 这听起来像你想要的那样.
因此 - 您的示例的架构将如下所示:
使用Address_PostCode的非可空列,因为它在数据库中无效,所以EF没有办法创建行,而没有对象具有地址和邮政编码.
归档时间: |
|
查看次数: |
3019 次 |
最近记录: |