gpt4 book ai didi

mysql - vb net、mysql 和 Entity Framework 6 sbyte 类型的问题

转载 作者:行者123 更新时间:2023-11-29 18:33:54 25 4
gpt4 key购买 nike

我在 Visual Studio 2015 中定义了一个项目,我首先使用 ADO NET Code 来连接 mysql 数据库(mysql 连接器 6.9.9),现在有了模型,我尝试使用 Entity Framework 6.

我已经在我的项目中从 nuget 'mysql Entity Framework 6.9.9' 安装了,但是当我尝试连接模型时,显示下一条消息:

SBYTE THERE IS NO STORE TYPE Corresponding to the conceptual side type 'SBYTE' of primitive type 'SBYTE'

.Net框架4.5.2

有什么建议吗?

谢谢!!

最佳答案

SByte 不是提供者支持的数据类型(至少 SQL Server、SQL Server CE、Microsoft Access、MySQL 不支持)。
如果您确实想要一个带有 SByte 的类,最好的方法是使用 [private] 支持并公开 SByte 属性。
这是私有(private)支持领域的模型。

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 属性

关于mysql - vb net、mysql 和 Entity Framework 6 sbyte 类型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45472860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com