主要是关于C#中实体类bool类型的问题
Oracle中只有number(1)这个类型,没有bool类型或bit类型
如何映射到C#中的bool类型呢?难道要把C#的bool类型改成int类型?
这会不会是ef4.1的bug,无法完全支持oracle的类型?
/// <summary>
/// 是否已修改
/// </summary>
[Display(Name="是否修改")]
public bool IsModify { get; set; }
错误提示
指定的架构无效。错误: (32,12) : 错误 2019: 指定的成员映射无效。类型“Microinfo.Map.Data.ProjectInfo”中的成员“IsModify”的类型“Edm.Boolean[Nullable=False,DefaultValue=]”与类型“CodeFirstDatabaseSchema.ProjectInfo”中的成员“IsModify”的“OracleEFProvider.number[Nullable=False,DefaultValue=,Precision=38,Scale=0]”不兼容。 (114,12) : 错误 2019: 指定的成员映射无效
在oracle中既然只有number(1),就用number(1)吧,在中间逻辑上判断number(1)返回的是否满足什么样的要求,就返回true,或者返回false。就可以了。
是不是说,要把实体类中得属性
/// <summary>
/// 是否已修改
/// </summary>
[Display(Name="是否修改")]
public bool IsModify { get; set; }
修改为int类型?不使用bool类型,以便进行映射?
/// <summary>
/// 是否已修改
/// </summary>
[Display(Name="是否修改")]
public int IsModify { get; set; }
@夜猫子罗: 不是的,还是用int,你在方法中会处理int的,例如:判断int返回值大于零就让这个方法放回true,否则返回false。
@雎鸠:
那个。。。。实体类属性和表字段相互映射,建立关联。。。。
/// <summary>
/// 是否已修改
/// </summary>
[Display(Name="是否修改")]
public bool IsModify { get; set; }
这个怎么改?entity-->映射特性attr(如何自定义?请说明,谢谢)-->表字段
写方法转换,我当然也知道,但是如何在ef4.1中自定义关联方法?这才是我要问得。
@夜猫子罗:
[Display(Name="是否修改")]
public int IsModify { get; set; }类型还是跟数据库一样的类型。