kas*_*rhj 16 mysql asp.net-mvc entity-framework
所以我刚拿起VS2012,我想用EF5启动一个ASP.NET MVC 4应用程序.
我的主机没有MSSQL所以我必须使用MySQL.
如何告诉我的应用程序它应该使用MySQL?(我要么使用devart MySQL连接器,要么使用mysql.com中的连接器)
agi*_*hua 26
您需要使用连接字符串DbProviderFactory和MySql Connector 6.5.4的自定义DatabaseInitializer设置配置.我详细介绍了使用EF5和MySql的完整步骤,包括我博客上初始化程序的代码.如果您需要ASP.Net成员资格提供程序解决方案之前曾被问过:ASP.NET的成员身份/角色提供程序?我将在此处发布解决方案,以获得完整的EF5 MySql解决方案.
MySql连接器当前不支持EF 5迁移,ASP.NET仅支持MS SQL上的SimpleMembership(默认为MVC4)而不支持MySql.以下解决方案适用于Code First.
步骤是:
<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>
Run Code Online (Sandbox Code Playgroud)
<connectionStrings>
<add name="ConnectionStringName"
connectionString="Datasource=hostname;Database=schema_name;uid=username;pwd=Pa$$w0rd;"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
如果您正在使用NuGet(6.5.4)中的MySql连接器,则需要自定义初始化程序.代码见http://brice-lambson.blogspot.se/2012/05/using-entity-framework-code-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>
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)
获取AccountController和Views工作:
@Html.Partial(“_LoginPartial”)
在共享_Layout视图中替换为@Html.Partial(“_LogOnPartial”)
归档时间: |
|
查看次数: |
27932 次 |
最近记录: |