Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ASP.NET MVC 4 EF5 với MySQL

Bạn cần thiết lập cấu hình của mình với chuỗi kết nối, DbProviderFactory và DatabaseInitializer tùy chỉnh cho MySql Connector 6.5.4. Tôi đã trình bày chi tiết về bước đầy đủ để phát EF5 và MySql, bao gồm mã cho trình khởi tạo trên blog của tôi . Nếu bạn yêu cầu giải pháp nhà cung cấp thành viên ASP.Net, giải pháp này đã được hỏi trước đây: Nhà cung cấp vai trò / thành viên ASP.NET cho MySQL? Tôi cũng sẽ đăng giải pháp ở đây để có giải pháp EF5 MySql hoàn chỉnh.

Trình kết nối MySql hiện không hỗ trợ di chuyển EF 5 và ASP.NET chỉ hỗ trợ SimpleMembership (MVC4 mặc định) trên MS SQL chứ không phải MySql. Giải pháp dưới đây dành cho Code First.

Các bước là:

  1. Lấy EF 5 từ NuGet
  2. Lấy MySql.Data và MySql.Data.Entity từ NuGet (6.5.4) hoặc MySql (6.6.4)
  3. Định cấu hình Nhà cung cấp dữ liệu MySql
  4. Định cấu hình chuỗi kết nối MySql
  5. Tạo Trình khởi tạo Cơ sở dữ liệu MySql Tùy chỉnh
  6. Định cấu hình Trình khởi tạo Cơ sở dữ liệu MySql Tùy chỉnh
  7. Định cấu hình tư cách thành viên ASP.NET nếu bạn yêu cầu

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>

Chuỗi kết nối

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

Trình khởi tạo cơ sở dữ liệu

Nếu bạn đang sử dụng trình kết nối MySql từ NuGet (6.5.4) thì cần phải có trình khởi tạo tùy chỉnh. Mã có sẵn tại http:// brice-lambson.blogspot.se/2012/05/using-entity-framework-code-first-with.html hoặc tại http://www.nsilverbullet.net/2012/11/07/6-steps-to-get-entity-framework-5-working-with-mysql-5-5/

Sau đó, thêm cái này vào cấu hình

<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>

Tư cách thành viên 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>

Làm cho AccountController và Views hoạt động:

  1. Xóa MVC 4 AccountController, AccountModels, thư mục Account view và _LoginPartial view shared
  2. Tạo một ứng dụng web MVC 3 mới
  3. Sao chép thư mục AccountController MVC 3, AccountModels, Account view và _LogOnPartial xem được chia sẻ vào ứng dụng MVC 4 của bạn
  4. Thay thế @Html.Partial(“_LoginPartial”) trong chế độ xem _Layout được chia sẻ với @Html.Partial(“_LogOnPartial”)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh mã zip MySQL PHP cụ thể khoảng cách

  2. API Google Maps v3:Cách Đặt Mức Thu Phóng Và Trung Tâm Bản Đồ Cho Vị Trí Do Người Dùng Gửi?

  3. Làm cách nào để hiển thị chữ cái đầu tiên dưới dạng chữ hoa?

  4. DAO.Recordset.Update kết quả trong khóa tính toán

  5. Cách tạo hồ sơ người dùng với PHP và MySQL