解决使用DbContext保存Decimal数据时总是保留小数位2位问题

通过System.Data.Entity.DbContext保留Decimal类型数据时,默认只保留小数位2位。要解决该问题,可以通过在OnModelCreating事件中添加相应代码即可,具体参考如下代码中将shop.Longitude设置为小数位20位:

public class UserDbContext : System.Data.Entity.DbContext
{
    public UserDbContext()
        : base("MyContext")
    {
        this.Configuration.ProxyCreationEnabled = false;
        this.Configuration.LazyLoadingEnabled = false;
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Shop>().Property(shop => shop.Longitude).HasPrecision(30, 20);
        modelBuilder.Entity<Shop>().Property(shop => shop.Latitude).HasPrecision(30, 20);
        modelBuilder.Entity<User>().Property(user => user.ArtificerLatitude).HasPrecision(30, 20);
        modelBuilder.Entity<User>().Property(user => user.ArtificerLongitude).HasPrecision(30, 20);
    } 

    public DbSet<User> Users { get; set; }
    public DbSet<Shop> Shops { get; set; }

}
时间: 2024-10-11 05:55:29

解决使用DbContext保存Decimal数据时总是保留小数位2位问题的相关文章

jxl读取excel浮点数据时,小数点后三位截取问题

今天导入Excel数据时,发现很多浮点数据被自动四舍五入只保留了三位,原来是jxl里对getContents()进行了封装,对数值型数据作了该处理.一般我们会对读取excel的一整套流程作为工具类,那么在读取单元格数据时,应该将数据分成三类(一般情况):日期,数值,普通字符串.最后统一转换成字符串类型. 如果是日期类型,可以使用DateCell对象提供的方法: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Cell

Silverlight保存大数据到WCF出现Not Found问题

Silveright调用WCF保存大数据时,直接在客户端报“ 远程服务器返回了错误:Not Found ”问题,少量是没问题,如下图: 后面在这个文章中找到解决办法: http://www.cnblogs.com/yjmyzz/archive/2011/06/29/2093829.html 顺道贴出来一下,有需之则取之. ServiceReferences.ClientConfig 客户配置文件: <configuration> <system.serviceModel> <

MVC4建立DBContext的EF6数据

MVC4建立DBContext的EF6数据时 1.需要using System.Data.Entity;命名空间 2.此命名空间需要安装EntityFromwork.dll,此dll可以在项目——>管理NuGet程序包里联机搜索EntityFromwork并安装即可 3.建立类wenbingDBContext并继承DbContext,此时就需要上面的命名空间了 4.程序代码如下: using System; using System.Collections.Generic; using Syst

关于.net 保存 decimal类型数据到SQLServer2012数据库时自动取整的问题

公司同事问我有没有遇到过decimal类型数据入库时,会自动取整的问题(比如12.3入库后值是12,12.8入库后值是13,入库后自动四舍五入自动取整): 之前就遇到过从数据去decimal类型数据时,会自动取整的问题:我想应该是同样的问题吧,叫同事设置SQLParameter参数时,设置Scale=2,Precision=18:类似代码如下: var param1 = new SqlParameter("@Money",System.Data.SqlDbType.Decimal);

20140509-MySQL导入脚本文件,插入数据时显示乱码的解决办法

20140509-MySQL导入脚本文件,插入数据时显示乱码的解决办法 打开CMD输入以下命令: mysql –u root –p 然后输入密码: 在导入脚本文件之前,对字符编码进行设置: charset gbk; 说明:上面的这条语句非常关键,这样不论你在cmd窗口,还是使用客户端输入中文,都能够正确保存了. 建议初学者不要使用SQLyog或者Navicat Premium等客户端连接工具.

向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法

转自原文 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法 写了一个小程序,从一个列表中读取坐标串,每个坐标串生成一个IPolygon,然后将这些Polygon添加到一个SDE图层中, 向SDE中添加要素的初始代码类似下面: IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)workspace; workspaceEdit.StartEditing(true); workspaceEdit.StartEditOper

ajax跨域往php程序post数据时,php程序总是执行两次的解决方法

php程序是部署在IIS7上面,ajax提交数据时,遇到了两个问题,一个就是跨域,一个php程序总会被执行两次. 第一个问题的解决方法,是百度出来的,添加下面几行代码就可以了: header('Access-Control-Allow-Origin:*'); header("Access-Control-Allow-Headers: x-requested-with,content-type"); header('Access-Control-Allow-Methods: OPTION

SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法

原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GlobalString.ConnectionString, SqlBulkCopy

解决在IE中返回JSON格式的数据时提示下载的问题

如题,以ASP.NET MVC为例,解决办法如下: 控制器中: public JsonResult Test() { return Json(json, "text/html"); } 视图中: $.post("/controller/action/", function (data) { data = JSON.parse(data); }); 解决在IE中返回JSON格式的数据时提示下载的问题