传统的操作数据库方式,筛选数据需要用StringBuilder拼接一大堆的WHERE子句. 在Entity Framework中,代码稍有不慎就会造成巨大性能消耗,如: using(var db=new MyDbContext()) { var s= db.Students.ToList().First(s=>s.ID=1200); } 嘣!进行了全表数据读取!当然一般人也不会犯这种低级的错误,言归正传. 可以简单的这样筛选数据: using(var db=new MyDbContext())…
异常:The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Ma…
Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作.如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的话,那么就可以用这个连接字符串,自己写ADO的代码,去数据库进行相关的操作.特别是对于一些复杂的查询,这时候,一般是想直接执行一个Sql语句,返回一个结果集.下面是一个方法,直接返回DataTable. /// <summary> /// EF SQL 语句返回 dataTable /// <…
1.ADO.NET 3.5 Entity Framework是随着.net framework 3.5一起发布的,确认开发环境版本是大于等于3.5版本 2.确认已经安装了ADO.NET 3.5 Entity Framework 和ADO.NET 3.5 Entity Framework Tools:右键单击创建的winform或者wpf程序,选择“Add|New Item”,查看Templates 列表框中是否有ADO.NET Entity Data Model,如果没有,请到此网址下载并安装:…
本文转自:https://msdn.microsoft.com/zh-cn/library/gg190738 Julie Lerman http://thedatafarm.com April 2011 As part of Microsoft’s Azure platform, SQL Azure is your relational database in the cloud. In fact, SQL Azure is very close to being SQL Server in t…
EF6使用MySQL数据库时,第一次创建数据库出现“Specified key was too long; max key length is 767 bytes”错误,解决办法请见以下连接. http://stackoverflow.com/questions/20832546/entity-framework-with-mysql-and-migrations-failing-because-max-key-length-is-76…
1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL   参考: https://msdn.microsoft.com/zh-cn/library/cc716760(v=vs.110).aspx   防范 SQL 注入式攻击. 应用程序经常接受外部输入(来自用户或其他外部代理),并根据该输入执行操作. 任何直接或间接从用户或外部代理派生的输入都可能包含使用目标语言的语法来执行…
1.查询视图 //3.查询视图 var sql = @" SELECT D.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY TestView.B_MemberId ASC ) AS rownum , * FROM TestView ) AS D WHERE rownum BETWEEN ( @pageIndex - 1 ) * @pageSize + 1 AND @pageIndex * @pageSize ORDER BY D.B_MemberId A…
1.查询单表 var pageSize = 2;//条数 var pageIndex = 2;//索引 var sql = @" SELECT D.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY B_MemberId ASC ) AS rownum , * FROM Bxy_MembersData ) AS D WHERE rownum BETWEEN ( @pageIndex - 1 ) * @pageSize + 1 AND @pageIndex *…
EF版本:6.0.0 EF对大量数据或多表连接一次操作耗时较大,或要求响应时间尽可能小,因此采用EF框架执行SQL语句的方案 1DbContext.Database 这个类包含了大量的操作方法,见截图: 查询方法举例: using (CustomDbContext db = new CustomDbContext()) { string sql = "SELECT * FROM collections LEFT JOIN collectionusers ON collections.`Id`=c…