繁体   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