我在visual studio 2015中定义了一个项目,我首先使用ADO NET代码连接mysql数据库(mysql连接器6.9.9),现在,拥有该模型,我&#39 ; m试图使用实体框架6.
我是从nuget' mysql实体框架6.9.9'安装的。在我的项目中,但是当我尝试连接模型时,会显示下一条消息:
SBYTE没有商店类型对应概念方类型 '为sbyte'原始类型' SBYTE'
.Net framework 4.5.2
任何建议??
谢谢!
答案 0 :(得分:0)
SByte不是提供程序支持的数据类型(至少不受SQL Server,SQL Server CE,Microsoft Access,MySQL支持)。
如果您真的想要一个带有SByte的课程,最好的方法是使用[私人]支持并公开SByte属性。
这是私人支持领域的模型。
public class Info
{
public int Id { get; set; }
[MaxLength(50)]
public string Description { get; set; }
public sbyte SByte
{
get
{
return (sbyte) SByteBackingField;
}
set
{
SByteBackingField = value;
}
}
private int SByteBackingField { get; set; }
public class InfoMap : EntityTypeConfiguration<Info>
{
public InfoMap()
{
ToTable("Infoes69");
Property(_ => _.SByteBackingField).HasColumnName("SByte");
Ignore(_ => _.SByte);
}
}
}
在上下文中,您需要添加配置
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new Info.InfoMap());
}
问题是您无法在查询中使用SByte属性。