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

सी # इकाई फ्रेमवर्क:कीवर्ड समर्थित नहीं:'पोर्ट'

प्रयुक्त आधार का तर्क DbContext कन्स्ट्रक्टर nameOrConnectionString . कहा जाता है . इसलिए यह कॉन्फ़िगरेशन फ़ाइल से कनेक्शन स्ट्रिंग के नाम का समर्थन करता है, या आपके मामले में एक वास्तविक कनेक्शन स्ट्रिंग की तरह।

बाद के साथ समस्या यह है कि यह प्रदाता का नाम . निर्दिष्ट करने की अनुमति नहीं देता है कॉन्फ़िगरेशन से आने वाले पूर्व के साथ, जिस स्थिति में EF defaultConnectionFactory में निर्दिष्ट एक का उपयोग करता है कॉन्फ़िगरेशन तत्व, जो आपके मामले में System.Data.Entity.Infrastructure.SqlConnectionFactory है , दूसरे शब्दों में - एसक्यूएल सर्वर , इसलिए port समर्थित अपवाद नहीं।

समस्या को ठीक करने के कई तरीके हैं।

(ए) defaultConnectionFactoryबदलें विन्यास:

<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6"></defaultConnectionFactory>

(बी) नामित कॉन्फ़िगरेशन कनेक्शन स्ट्रिंग का उपयोग करें और प्रदाता को स्पष्ट रूप से निर्दिष्ट करें:

<connectionStrings>
    <add name="MyDB" providerName="MySql.Data.MySqlClient" connectionString="server=myservername;port=3306;uid=myaccount;database=mydb;pwd=mypwd123" />
</connectionStrings>

और कंस्ट्रक्टर को

. में बदलें
public MyDB()
{
    // ...
}

या अगर नाम आपके DbContext . से अलग है व्युत्पन्न वर्ग का नाम:

public MyDB() : base(connection_string_name)
{
    // ...
}

(सी) का इस्तेमाल करें DbConfigurationTypeAttribute :

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class MyDB : DbContext
{
    // ...
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चयनित बिंदु से विशिष्ट दूरी पर सभी पतों को खोजने का सबसे अच्छा तरीका क्या है?

  2. मुझे विदेशी कुंजी कहाँ संग्रहीत करनी चाहिए?

  3. गिनती के साथ एसक्यूएल लगातार रिकॉर्ड

  4. MySQL में एक स्ट्रिंग के हिस्से को कैसे बदलें

  5. क्या किसी तालिका में एकाधिक प्राथमिक कुंजी हो सकती हैं?