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

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

你把布尔类型变量转换成bit类型不就好了。

bool b=false

byte[] bt = System.Text.Encoding.Default.GetBytes(b.ToString())

//取得模型,循环属性,按需更新

public virtual void Update(T t)

{

var model= this.GetModel(t)

foreach (System.Reflection.PropertyInfo item in t.GetType().GetProperties()

.Where(p =>p.CanRead&&p.CanWrite&&p.GetCustomAttributes(typeof(DataMemberAttribute), false).Length >0))

{

string name = item.Name

object value = item.GetValue(t,null)

//判断属性为值类型或是字符串类型

if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))

{

item.SetValue(model, value,null)

}

}

DB.SaveChanges()

}

你的decimal(18,2)就表示只保存小数位后两位

表里只能存这么多,多余的位数当然会被丢掉

你要多保存几位小数,才能做四舍五入 *** 作,建议你修改一下表定义


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7906923.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存