[英]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.