3

使用Int字段(为了与其他 DBMS 和编程语言兼容)Boolean在数据库中存储值。我如何自定义数据库首先生成的实体框架模型(默认情况下将Int字段映射到Int32)以确保它在使用Booleantype on时生成的 SQL 查询中使用 1/0(而不是“true”/“false”)应用方面?

4

1 回答 1

3

一种解决方法是在模型中使用另一个未映射到数据库的布尔属性。在该属性设置方法中,您可以将整数值设置为 int 属性。

//EF Generated/Poco Do not Modify
public partial MyTable
{
  public int MyField { get; set; }
}

由于这些是部分类创建另一个文件

public partial MyTable
{
  public bool MyBoolField
  {
    get
    {
      return this.MyField != 0;
    }
    set
    {
      if (value)
      {
        this.MyField = 1;
      }
      else 
      {
        this.MyField = 0;
      }

    }
  }
}
于 2012-11-20T06:15:28.503 回答