zoukankan      html  css  js  c++  java
  • Entity Framework with MySQL 学习笔记一(查看EF和SQL请求日志)

    做数据库的一向来都会很注意请求的次数还有语句。这关系到很多性能的问题。

    因此在使用EF的时候如果不了解原理很可能会搞出很糟糕的请求。

    所以呢,在还没有搞懂EF前最基本的是你得"看得见",EF为我们生成了什么样的 SQL语句,和访问了多少次SQL 

    其实有很多很好的工具可以实现这些东西,但是我懒的去找来试,所以呢找了一个简单又勉强可以用用的。

    这个是微软本身的日志 

    参考 : 

    http://msdn.microsoft.com/en-us/data/jj556606 -Logging Database Operations to a File (EF6.1 Onwards)

    在我们的web config 加上这个 interceptors 

    <entityFramework>
      <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
      <providers>
        <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
        <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      </providers>
      <interceptors>
        <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
          <parameters>
            <parameter value="D:\vs2014\ProjectLearn\entitysix\EFLog\LogOutput.txt"/> <!--指定你要保存文件到哪-->
            <parameter value="false" type="System.Boolean"/> <!--false表示每次重启app就"不会"把之前的洗掉,true就会-->
          </parameters>
        </interceptor>
      </interceptors>
    </entityFramework>

    运行后就可以查看了 

    Opened connection at 2014/9/27 17:43:42 +08:00
    SELECT
    `Extent2`.`id`, 
    `Extent2`.`code`, 
    `Extent2`.`name`
    FROM `prod_category_vs_prod` AS `Extent1` INNER JOIN `prod` AS `Extent2` ON `Extent1`.`prod_category_id` = `Extent2`.`id`
     WHERE `Extent1`.`prod_id` = @EntityKeyValue1
    -- EntityKeyValue1: '2' (Type = Int32, IsNullable = false)
    -- Executing at 2014/9/27 17:43:42 +08:00
    -- Completed in 13 ms with result: EFMySqlDataReader
    
    Closed connection at 2014/9/27 17:43:42 +08:00

    大概是这样。

    如果你有更好用有容易安装的,请告诉我吧!感谢 ^^ 

  • 相关阅读:
    Trapping Rain Water
    Construct Binary Tree from Preorder and Inorder Traversal
    Flatten Binary Tree to Linked List
    Permutations II
    Unique Paths II
    Path Sum II
    Unique Binary Search Trees II
    evdev module-----uinput.py
    evdev module-----events.py
    evdev module-----device.py
  • 原文地址:https://www.cnblogs.com/keatkeat/p/3997003.html
Copyright © 2011-2022 走看看