栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有MySQL的ASP.NET MVC 4 EF5

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有MySQL的ASP.NET MVC 4 EF5

您需要使用连接字符串DbProviderFactory和用于MySql Connector
6.5.4的自定义DatabaseInitializer来设置配置。我已经详细介绍了让EF5和MySql发挥作用的完整步骤,包括我的Blog上用于初始化程序的代码。如果您需要ASP.Net成员资格提供程序解决方案,请先询问以下内容:MySQL的ASP.NET成员资格/角色提供程序?我还将在此处发布解决方案,以获取完整的EF5 MySql解决方案。

MySql连接器当前不支持EF 5迁移,并且ASP.NET仅在MS
SQL上支持SimpleMembership(默认为MVC4),而不支持MySql。以下解决方案适用于Code First。

这些步骤是:

  1. 从NuGet抓取EF 5
  2. 从NuGet(6.5.4)或MySql(6.6.4)中获取MySql.Data和MySql.Data.Entity
  3. 配置MySql数据提供程序
  4. 配置一个MySql连接字符串
  5. 创建一个自定义MySql数据库初始化程序
  6. 配置自定义MySql数据库初始化程序
  7. 如果需要,配置ASP.NET成员资格

DbProvider

<system.data> <DbProviderFactories>  <remove invariant="MySql.Data.MySqlClient"/>  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"    description=".Net framework Data Provider for MySQL"     type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data" /> </DbProviderFactories></system.data>

连接字符串

<connectionStrings>  <add name="ConnectionStringName"     connectionString="Datasource=hostname;Database=schema_name;uid=username;pwd=Pa$$w0rd;"     providerName="MySql.Data.MySqlClient" /></connectionStrings>

数据库初始化器

如果您使用的是NuGet(6.5.4)中的MySql连接器,则需要自定义初始化程序。可以在http://brice-
lambson.blogspot.se/2012/05/using-entity-framework-pre-first-
with.html

或http://www.nsilverbullet.net/2012/11/07/获得的代码6个步骤获取实体框架5与mysql
5-5一起工作/

然后将此添加到配置

<configSections>  <section name="entityframework"     type="System.Data.Entity.Internal.ConfigFile.EntityframeworkSection,     Entityframework, Version=5.0.0.0, Culture=neutral,     PublicKeyToken=b77a5c561934e089" /></configSections><entityframework>  <contexts>      <context type="Namespace.YourContextName, AssemblyName">         <databaseInitializer type="Namespace.YourChosenInitializer, AssemblyName">         </databaseInitializer>      </context>    </contexts>    <defaultConnectionFactory       type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data" /></entityframework>

ASP.NET成员资格

<membership defaultProvider="MySqlMembershipProvider">  <providers>    <clear />    <add name="MySqlMembershipProvider"         type="MySql.Web.Security.MySQLMembershipProvider,         MySql.Web, Version=6.5.4.0, PublicKeyToken=c5687fc88969c44d"     autogenerateschema="true"     connectionStringName="*NAME_OF_YOUR_CONN_STRING*"     enablePasswordRetrieval="false"     enablePasswordReset="true"     requiresQuestionAndAnswer="false"     requiresUniqueEmail="false"     passwordFormat="Hashed"     maxInvalidPasswordAttempts="5"     minRequiredPasswordLength="6"     minRequiredNonalphanumericCharacters="0"     passwordAttemptWindow="10"     passwordStrengthRegularexpression=""     applicationName="/" />  </providers></membership>

使AccountController和View运行:

  1. 删除MVC 4 AccountController,AccountModels,Account视图文件夹和_LoginPartial共享视图
  2. 创建一个新的MVC 3 Web应用程序
  3. 将MVC 3 AccountController,AccountModels,Account视图文件夹和_LogOnPartial共享视图复制到您的MVC 4应用程序中
  4. @Html.Partial(“_LoginPartial”)
    在共享的_Layout视图中替换为
    @Html.Partial(“_LogOnPartial”)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432885.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号