从数据库中的字符串转换为布尔属性实体框架4.1

Chr*_*ath 3 .net c# entity-framework entity-framework-4.1 asp.net-mvc-3

我正在使用遗留的oracle数据库,它在数据库中使用字符文字T和F作为其布尔值但是我希望Entity属性反映一个正确的boolen值是否有一个wy在模型绑定时转换此值是只读数据库,因此插入并不重要

Sla*_*uma 5

这是不可能的.您必须将字符串属性映射到数据库表列,然后使用未映射的布尔属性:

public string MyStringProperty { get; set; }

[NotMapped]
public bool MyBoolProperty
{ 
    get { return MyStringProperty == "T"; }
    set { MyStringProperty = value ? "T" : "F"; }
}
Run Code Online (Sandbox Code Playgroud)

  • @Chris:告诉ADO.NET团队.他们仍然忽略了简单类型映射的需求. (4认同)
  • 该死的我真的希望保持模型POCO无知到映射到数据库将是非常好的,如果有一种方法在属性地图中使用流畅的api (3认同)