zoukankan      html  css  js  c++  java
  • Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题

    关于如何使用EF Power Tool的介绍请看 http://www.cnblogs.com/LingzhiSun/archive/2011/05/24/EFPowerTool_1.html, 这里不再啰嗦。

    MySql里有个默认的范例数据库 world, 里面有三个表,

    image

    下载Entity Framework Power Tools 安装包, 现在已经是Beta3版本,http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/

    下载完安装, 然后新建一个控制台项目,项目名称为EFEntity, 然后右键点击项目名,在弹出菜单中选择Entity Framework –》Reverse Engineering Code First 。

    image

    选择相应的数据库连接

    image

    image

    可以看到引用了不该引用程序集

    image

    App.Config 也多了一个Providers子节点

      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="v11.0" />
          </parameters>
        </defaultConnectionFactory>
        <providers>   
    //把这个子节点删除
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
      </entityFramework>

    需要把Providers子节点整个删掉,引用Mysql Connector的驱动,才能正常运行程序。

    image

    另外,Power Tool 安装的EF 默认版本是6.6.0.0, 这个版本在VS2012环境下可以正常工作, 在VS2010 .NET 4.0 的环境下不行,要用NuGet卸载掉,然后重新安装,之后看到的版本是4.4.0.0.

    image

    Program.cs的代码是:

       1:      class Program
       2:      {
       3:          static void Main(string[] args)
       4:          {
       5:              using (var context = new worldContext())
       6:              {
       7:                  foreach (var item in context.cities)
       8:                  {
       9:                      Console.WriteLine(item.Name + "  " + item.District + "  " + item.CountryCode);
      10:                  }
      11:                  Console.Read();
      12:              }
      13:          }
      14:      }
     
     

    App.Config文件内容:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      </configSections>
      <connectionStrings>
        <add name="worldContext" connectionString="server=localhost;Character Set=utf8;User Id=root;password=pristine2008;Persist Security Info=True;database=world"
          providerName="MySql.Data.MySqlClient" />
      </connectionStrings>
      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="v11.0" />
          </parameters>
        </defaultConnectionFactory>
      </entityFramework>
    </configuration>

    image

  • 相关阅读:
    vue2.X对接高德地图:vue-amap(一)
    RequestHeaders添加自定义参数
    git 拉取远程分支到本地
    git输错密码怎么办?
    webstorm最新版破解
    flex布局
    call和apply区别
    localStorage,sessionStorage,cookie
    详解单页面路由的几种实现原理(附demo)
    微信的踩坑之路----微信分享title和icon不显示
  • 原文地址:https://www.cnblogs.com/grkin/p/3326449.html
Copyright © 2011-2022 走看看