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添加到配置文件中。

  • 相关阅读:
    iOS开发之--将 "中文" 转化成 "拼音"
    iOS swift语言
    手势识别
    学习git
    iOS开发如何在外面拿到一个子控件的frame ????
    协议和代理的理解及使用
    iOS开发之----生成二维码
    组合数C(n,m)的四种求解方法
    求一个数的正数因子(模板)
    图论五:网络流
  • 原文地址:https://www.cnblogs.com/maigc249/p/4546998.html
Copyright © 2011-2022 走看看