1.DbContext怎么在Asp.mvc中使用? public class Repository { //实例化EF容器:有弊端.一个线程里可能会创建多个DbContext //DbContext db = new DbContext(); //改造:保证一个请求线程中只有一份EF容器(你要明白:一个url请求到服务器,IIS就开一个线程去处理) protected DbContext GetDbContext { get { //向线程缓存中查询,如果返回的是null,则创建,同时存入到这个…
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 前言 很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那可能得用上个几分钟.EntityFramework 最被人诟病的地方就是它的性能,处理大量数据时的效率.此种条件下,通常会转回使用 ADO.NET 来完成任务. 但是,如果已经在项目中使用了 EntityFramework,如果碰到需要直接向数据库中插入 10W 的数据的需求,引入 ADO.NET…
继上次记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)后又再次与Dictionary博弈,这一次是在EntityFramework中的Dictionary. 从一个异常说起 这个异常与上次的异常有着同一个特性:间歇性,碰到类似的异常在信心上就被削弱了一大半... 在第一次看到这个异常的时候觉得解决它非常的简单,无非就是在字典操作的地方加个锁,但仔细看了一会发现这个问题并没有那么简单,可以看到这个异常的最后几个堆栈信息来自System.Data.Entity命名空间,也就是…
前言 很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那可能得用上个几分钟.EntityFramework 最被人诟病的地方就是它的性能,处理大量数据时的效率.此种条件下,通常会转回使用 ADO.NET 来完成任务. 但是,如果已经在项目中使用了 EntityFramework,如果碰到需要直接向数据库中插入 10W 的数据的需求,引入 ADO.NET 和 SqlBulkCopy 的组合将打破 EntityFramework 作为 ORM 所带来的优势…
EntityFramework中支持BulkInsert扩展 本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 前言 很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那可能得用上个几分钟.EntityFramework 最被人诟病的地方就是它的性能,处理大量数据时的效率.此种条件下,通常会转回使用 ADO.NET 来完成任务. 但是,如果已经在项目中使用了 EntityFramework,如果碰到需要直…
在entityFramework中,decimal精度默认为2位数,当要设置的精度大于2位并且数据库中设置的decimal精度大于2位时,则将数据保存在数据库中后两位的小数内容将强制为00 解决方案:在DbContext中加下如下代码 modelBuilder.Entity<t_freshgoods>().Property(x => x.sale_price).HasPrecision(10, 4); public WXMallDbContext() : base("WXMal…
目前项目中使用到的EntityFramework中几种操作小结,先标记下.没有详细介绍,后续有空的话再补充一些并完善一下. 列中加入RowVersion时间戳 public class Product    {        public int Id { get; set; }        public string Name { get; set; } [Timestamp]        public Byte[] RowVersion { get; set; }    } 查询中加入R…
原文:设置EntityFramework中decimal类型数据精度 EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度. e.g. .19990将会被保存为2. 1.解决方案一是网上找到常见的方法为重写DbContext的OnModelCreating方法: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Pro…
EntityFramework中出现DateTime2异常的完美解决办法   今天在使用entityframework往数据库插入数据的时候,突然出现了一个数据类型转换异常的问题: System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值. 查了一下网上的资料,很多人给了原因与解决办法: C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datet…
本文转自:http://blog.csdn.net/itmaxin/article/details/47662151 上一篇文章里提到了 EntityFramework中常用的数据删除方式,那么修改对象值也有多种方式 第一种 同样是官方推荐的方式,先查询出来,再对要修改的字段赋值,这也应该是用的比较多的. 第二种 还是手动创建对象,然后附加,需要改哪个字段值,就写出来,最后 保存就行.跟第一种就差了从数据库查询. 第三种 手动创建对象,然后放入EF容器中,然后把状态设定为Modified,再把要…