Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL के साथ ASP.NET MVC 4 EF5

आपको एक कनेक्शन स्ट्रिंग, DbProviderFactory और MySql Connector 6.5.4 के लिए एक कस्टम DatabaseInitializer के साथ अपना कॉन्फिगरेशन सेटअप करने की आवश्यकता है। मैंने विस्तृत विवरण दिया है EF5 और MySql को चलाने के लिए पूर्ण चरण, मेरे ब्लॉग पर प्रारंभकर्ताओं के लिए कोड सहित . यदि आपको ASP.Net सदस्यता प्रदाता समाधान की आवश्यकता है तो यह पहले पूछा गया था:MySQL के लिए ASP.NET सदस्यता/भूमिका प्रदाता? मैं एक संपूर्ण EF5 MySql समाधान के लिए यहां समाधान भी पोस्ट करूंगा।

MySql कनेक्टर वर्तमान में EF 5 माइग्रेशन का समर्थन नहीं करता है और ASP.NET केवल MS SQL पर SimpleMembership (MVC4 डिफ़ॉल्ट) का समर्थन करता है MySql नहीं। नीचे दिया गया समाधान कोड फर्स्ट के लिए है।

चरण हैं:

  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 सदस्यता कॉन्फ़िगर करें

डीबीप्रोवाइडर

<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-code-first-with.html या http://www.nsilverbullet.net/2012/11/07/6-steps-to-get-entity-framework-5-working-with-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 और Views काम कर रहा है:

  1. MVC 4 AccountController, AccountModels, Account View फोल्डर और _LoginPartial Shared View को डिलीट करें
  2. नया MVC 3 वेब एप्लिकेशन बनाएं
  3. अपने MVC 4 एप्लिकेशन में MVC 3 AccountController, AccountModels, Account View फ़ोल्डर और _LogOnPartial साझा दृश्य को कॉपी करें
  4. @Html.Partial(“_LoginPartial”) बदलें @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. MySQL - मौजूदा डेटा को तोड़े बिना डेटाबेस में मौजूदा कॉलम के वर्चर आकार को कैसे बढ़ाया जाए?

  2. MySQL - निकटता सूची मॉडल - गहराई प्राप्त करें

  3. एकाधिक दिनांक कॉलम के साथ mysql में unpivot पर सहायता चाहिए

  4. रूबी से एक MySQL संग्रहीत प्रक्रिया को कॉल करना संभव है?

  5. दो टेबल संरचना के बीच अंतर