C#的EF中的字段类型布尔型,mysql数据库里是bit类型,提交识别不了该字段赋的true和false,为啥呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#的EF中的字段类型布尔型,mysql数据库里是bit类型,提交识别不了该字段赋的true和false,为啥呢?相关的知识,希望对你有一定的参考价值。

问题如上,C#中 EF映射的数据库的实体类,某个字段类型为布尔型,mysql数据库里是bit,
当我把布尔类型传给数据库的时候,它却识别不了传进去的true和false,在数据库中执行却能成功, 为什么呢?难道是因为EF中有问题?求大神帮忙指导!

参考技术A 你把布尔类型变量转换成bit类型不就好了。
bool b=false
byte[] bt = System.Text.Encoding.Default.GetBytes(b.ToString())追问

在哪里转呢?实体类里映射的是布尔类型,不知道怎么弄?才接触EF,不是很懂。

本回答被提问者和网友采纳
参考技术B 查了一下,似乎mysql应该设置成tinyint(1) 类型,才对应ef的Boolean。追问

EF中的字段类型改成Boolean了,报出 指定的成员类型无效,edmx中的类型和数据库中的类型不兼容,郁闷啊!

C#类中的多个泛型类型字段[重复]

【中文标题】C#类中的多个泛型类型字段[重复]【英文标题】:Multiple generic types fields in class C# [duplicate] 【发布时间】:2021-07-17 05:44:02 【问题描述】:

我正在尝试创建一个具有多个泛型类型字段的类,如下所示:

class Objeto<T> where T, U, W : class, new()

   private T field1;
   private U field2;
   private List<W> listField;

但我不知道该怎么做。

【问题讨论】:

你的意思是像Objeto&lt;T, U, W&gt;?还是您对where 感到困惑?还是别的什么? @Llama 是的,我很困惑,但是 TimChang 给了我解决方案。谢谢。 【参考方案1】:
class Objeto<T, U, W> 
    where T: class, new() 
    where U : class, new()
    where W : class, new()

    private T field1;
    private U field2;
    private List<W> listField;

【讨论】:

以上是关于C#的EF中的字段类型布尔型,mysql数据库里是bit类型,提交识别不了该字段赋的true和false,为啥呢?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 数据库中的布尔字段

如何在 Windows 窗体 C# 中单击按钮通过 DataGridView 更新数据库中的布尔字段

C#类中的多个泛型类型字段[重复]

2017-2-19 C#基础 数据类型

mysql创建布尔字段

python中int是啥意思