Bri*_*ian 6 .net entity-framework-4 ef4-code-only
我有一个包含int位掩码的EF4实体(代码优先).我创建了一个Bitmask结构,以便更容易地使用位掩码(提供bool属性来访问位).位掩码结构包括用于转换为int和从int转换的重载隐式运算符.
我尝试将属性类型设置为位掩码结构,但值返回为0.我知道数据库中的值有一个值,并且位掩码在我的单元测试中有效.我将HasColumnType设置为"INT".
物业......
[Required]
[Display(Name = "Display Pages Bitmask")]
[Column(Name = "fDisplayPagesBitmask")]
public DisplayPagesBitmask DisplayPagesBitmask { get; set; }
Run Code Online (Sandbox Code Playgroud)
从上下文对象...
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<Website>()
.Property(m => m.DisplayPagesBitmask)
.HasColumnType("INT");
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样,我需要做些什么才能让它发挥作用?
您无法直接映射您的结构。您必须映射 int 属性(使 setter 为内部或受保护),并提供自定义类型的第二个非映射属性(使用NotMappedAttribute或方法),该属性在内部设置映射的整数属性。Ignore
| 归档时间: |
|
| 查看次数: |
4389 次 |
| 最近记录: |