Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kerangka Entitas C#:Kata kunci tidak didukung:'port'

Argumen dari basis DbContext yang digunakan konstruktor disebut nameOrConnectionString . Oleh karena itu mendukung nama string koneksi dari file konfigurasi, atau seperti dalam kasus Anda string koneksi yang sebenarnya.

Masalah dengan nanti adalah tidak memungkinkan menentukan nama penyedia seperti yang pertama berasal dari konfigurasi, dalam hal ini EF menggunakan yang ditentukan dalam defaultConnectionFactory elemen konfigurasi, yang dalam kasus Anda adalah System.Data.Entity.Infrastructure.SqlConnectionFactory , dengan kata lain - Sql Server , maka port tidak didukung pengecualian.

Ada beberapa cara untuk memperbaiki masalah ini.

(A) Ubah defaultConnectionFactory konfigurasi:

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

(B) Gunakan string koneksi konfigurasi bernama dan tentukan penyedia secara eksplisit:

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

dan ubah konstruktor menjadi

public MyDB()
{
    // ...
}

atau jika namanya berbeda dari DbContext Anda nama kelas turunan:

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

(C) Gunakan 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. mysqldump dengan --where klausa tidak berfungsi

  2. Konversikan BIGINT TANPA TANDATANGAN ke INT

  3. Pilih catatan dari SEKARANG() -1 Hari

  4. Bagaimana cara $_POST nilai yang ditetapkan secara dinamis dalam PHP?

  5. Bagaimana sprintf() melindungi dari injeksi SQL?