簡體   English   中英

Entity Framework Core 2中的ConnectionString Builder

[英]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:...連接字符串)。 EntityConnectionStringBuilderEntityConnectionStringBuilder類沒有用,它用於創建此類連接字符串。

所以移植時,只需刪除你的整個GetEntityConnectionString方法和使用您的GetConnectionString與而是一起UseSqlServerUsePgsql和類似的方法。

您可以在上下文上設置連接。 嘗試覆蓋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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM