1.关于EF6的记录Sql语句,一个老生长谈的问题. 他生成的sql语句实在是烂,大家都这样说 2.EF6 更新删除不方便,没有批量操作.所以,有人出了EF6.Extend  大家用起来也很爽 基于以上两点,我也尝试着使用 EF6.Extend .本以为可以很好的,很美好.没有想到我遇到了一个大问题. 我需要 通过程序记录 EF执行的Sql语句,当然也包括 EF6.Extend 执行的Sql语句.(不是通过SqlProfiler) 在网上查找,发现 了一篇文章,我就这样抄下来了.(太匆忙解决问题…
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用…
环境: MySQL 如果需要记录 MySQL 的查询语句,需要在配置文件(Linux 下为 my.cnf,Windows 下为 my.ini)中添加配置: general_log = ON general_log_file = D:/Data/log/sql.log general_log = ON 表示开启日志记录, general_log_file 为日志保存的路径. 如果需要记录慢查询,则需要在配置文件中添加配置: slow-query-log = slow-query-log-file…
要查找某时间段的记录,例如查找2013-11-1到2013-11-30的记录. ' group by user_name, user_id 注意:SQL语句中含有sum累加函数,末尾要加group by *** .GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组.…
EF中提供了两个方法,一个是执行查询的Sql语句SqlQuery,另外一个是执行非查询的语句ExecuteSqlCommand.SqlQuery有两种形式的,一种是泛型的,一种是非泛型的.比如我们要在目录表中查询ID为多少的一个分类.可以这样写: entityList = dbContext.Set<Catalog>().SqlQuery("Select * from catalog where CatalogID='1234'").ToList(); 它会为你自动转换成对…
很多时候我们需要对插入到数据库的数据的精度做一个控制,例如sql server下保留6位小数使用numeric(10,6) .而到c#里对应的数据类型就是decimal ,但是使用EF6.0的create 的时候默认生成的decimal的数据类型是decimal(18,2).这个时候我们需要重新定义对应实体的属性的数据类型.修改如下: Data Annotations 加上[Column(TypeName = "numeric")] [Column(TypeName = "n…
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.Fri Nov 15 10:44:43 CST…
SET STATISTICS PROFILE ONSET STATISTICS IO ONSET STATISTICS TIME ONGO --这之间是要执行的脚本select * from [UserTable]GO --这之间是要执行的脚本SET STATISTICS PROFILE OFFSET STATISTICS IO OFFSET STATISTICS TIME OFF 可以分析出cpu开销,IO开销,时间开销 备忘…
本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除一组记录,如果按照正常的流程来走,你就得先把这些数据查出来,然后再一…
在EntityFramework6中执行SQL语句 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除一组记录,如果按照正常的流程来走,你就得先把这些数据查出来,然后再一条一条地删除它们,这样不仅麻烦而且性能也比较低.这种情…