[英]ConnectionString Builder in Entity Framework Core 2
我正在嘗試將舊項目c#轉換為asp net core和EF core 2.0,但找不到EntityConnectionStringBuilder。
public string GetEntityConnectionString(string databaseName, string metadata)
{
string providerName = "System.Data.SqlClient";
string providerString = GetConnectionString(databaseName);
System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder entityBuilder =
new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder();
錯誤CS0234類型或名稱空間名稱'Entity'在名稱空間'System.Data'中不存在(您是否缺少程序集引用?)
這是因為EF Core不支持較舊EF版本的所謂“數據庫優先”方法,因此沒有edmx文件,因此對於EF特定的連接字符串沒有任何用處( metadata=res:...
連接字符串)。 EntityConnectionStringBuilder
, EntityConnectionStringBuilder
類沒有用,它用於創建此類連接字符串。
所以移植時,只需刪除你的整個GetEntityConnectionString
方法和使用您的GetConnectionString
與而是一起UseSqlServer
, UsePgsql
和類似的方法。
您可以在上下文上設置連接。 嘗試覆蓋OnConfiguring方法:
public class CommonDbContext : DbContext
{
public CommonDbContext(DbContextOptions<CommonDbContext> options)
: base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=127.0.0.1;Initial Catalog=DBName;User ID=user;Password=pwd;Connection Timeout=60");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.