zoukankan      html  css  js  c++  java
  • EF中的配置

      EF中的配置有许多,在这里只介绍需要手动配置的几个:

      连接字符串

    <connectionStrings>
        <add name="CloudServiceDbContext"
             connectionString="Data Source=localhost;port=3306;Initial Catalog=dbCloudService;user id=root;password=111111"
             providerName="MySql.Data.MySqlClient"/>
      </connectionStrings>

      拦截器

      拦截器允许EF在执行数据库操作时运行一些附加的逻辑,下面的代码便是在DatabaseLogger中添加了一个拦截器用以记录所有的数据库操作。

    <interceptors> 
      <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"> 
        <parameters> 
          <parameter value="C:TempLogOutput.txt"/> //Log输出文件
          <parameter value="true" type="System.Boolean"/> //文件存在时以Append的方式写文件
        </parameters> 
      </interceptor> 
    </interceptors>

      Database Initializers

      CodeFirst默认使用CreateDatabaseIfNotExits初始化,而context有一个disableDatabaseInitialization属性用来配置不使用数据库初始化。示例如下:

    <contexts> 
      <context type=" Blogging.BlogContext, MyAssembly" disableDatabaseInitialization="true" /> 
    </contexts>

      也可以配置自定义的初始化类(无参时去掉parameters节点即可),示例如下:

    <contexts> 
      <context type=" Blogging.BlogContext, MyAssembly"> 
        <databaseInitializer type="Blogging.MyCustomBlogInitializer, MyAssembly"> 
          <parameters> 
            <parameter value="MyConstructorParameter" /> 
          </parameters> 
        </databaseInitializer> 
      </context> 
    </contexts>

      泛型数据库初始化配置,使用CodeFrist迁移时,配置数据库自动迁移到最新,示例如下:

    <contexts> 
      <context type="Blogging.BlogContext, MyAssembly"> 
        <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[Blogging.BlogContext, MyAssembly], [Blogging.Migrations.Configuration, MyAssembly]], EntityFramework" /> 
      </context> 
    </contexts>

      还有一个比较重要的配置就是provider的配置,而一般来说都可以通过Nuget安装相关库便自动添加到配置文件中,如Mysql下添加provide时,Nuget中输入以下命令:

    PM> install-package Mysql.Data.Entity

      便可将相应的库引用到项目中,并且将provider添加到配置文件中。

  • 相关阅读:
    A*算法(八数码问题)
    【第一篇:C++与opencv】图片的读取和显示
    iOS事件拦截(实现触摸任意位置隐藏指定view)
    tableview随笔
    解决UITableView中Cell重用机制导致内容出错的方法总结
    iOS 数据类型转换
    git Xcode
    ios 读取各种类型文件
    iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager(三)
    iOS学习之NSBundle介绍和使用
  • 原文地址:https://www.cnblogs.com/maigc249/p/4546998.html
Copyright © 2011-2022 走看看