当前位置:编程学习 > C#/ASP.NET >>

linq之插入

Test表
字段 字段类型
Id uniqueidentifier
e589c decimal(16, 10)

Test表对应的实体类
namespace PSMS.Entity
{
    /// <summary>
    /// 
    /// </summary>
    [Table(Name = "test")]
    public class ABC : EntityBase
    {
        Guid id = Guid.NewGuid();
        /// <summary>
        /// Id
        /// </summary>
        [Column(IsPrimaryKey = true, Name = "Id")]
        public override Guid Id
        {
            get { return this.id; }
            set { this.id = value; }
        }


        decimal _numField = 0;
        /// <summary>
        /// 津贴系数
        /// </summary>
        [Column(UpdateCheck = UpdateCheck.Never, Name ="e589c")]
        public Decimal NumField
        {
            get { return this._numField; }
            set { this._numField = value; }
        }
    }
}

创建实体类并复制
ABC new = new ABC();
new.Id = Guid.NewGuid();
new.NumField = 0.428561M;

用Linq的InsertOnSubmit, SubmitChanges方法插入新对象new后,数据库中e589c字段的值就变成了0.4285000000,而不是0.428561(如下)

Id                                  e589c
6da50c86-947a-4a44-acb5-6165b612de16       0.4285000000

 
--------------------编程问答-------------------- decimal(16,10) _numField = 0.0;
   --------------------编程问答-------------------- 顶一楼,要控制decimal的精度 --------------------编程问答-------------------- 不要纠结在decimal _numField = 0;
不小心写错了,应该是decimal _numField = 0.0M; --------------------编程问答-------------------- e589c decimal(16, 6) --------------------编程问答-------------------- 你数据库定义字段的时候,精度定了10位,更改为6位应该就没问题了 --------------------编程问答--------------------
引用 5 楼 kingdom_0 的回复:
你数据库定义字段的时候,精度定了10位,更改为6位应该就没问题了


精度改为了6位结果还是0.4285000000。不对呀! --------------------编程问答--------------------
引用 5 楼 kingdom_0 的回复:
你数据库定义字段的时候,精度定了10位,更改为6位应该就没问题了


精度改为了6位结果还是不对呀(0.428500)! --------------------编程问答--------------------
引用 7 楼 urus8052 的回复:
引用 5 楼 kingdom_0 的回复:
你数据库定义字段的时候,精度定了10位,更改为6位应该就没问题了


精度改为了6位结果还是不对呀(0.428500)!

e589c decimal(7, 6)
这样试试. --------------------编程问答-------------------- 精度丢失
补充:.NET技术 ,  LINQ
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,