Entity Framework 7/Coreでは、過去と同じように接続文字列名をDbContextベースのコンストラクタに渡すことはできませんが、問題の別の解決方法があります。
var optionsBuilder = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();
var connectionString = ConfigurationManager.ConnectionStrings["DatabaseConnecionString"].ConnectionString;
optionsBuilder.UseSqlServer(connectionString);
using (var dbContext = new DatabaseContext(optionsBuilder.Options))
{
dbContext.Users.Add(new User() { Name = "Bassam" });
dbContext.SaveChanges();
}
ソリューションII:
データベースの移行のために設けられた接続文字列を使用したい場合、あなたはDbContextでロードを配置する必要があり、私
ソリューション。
public class DatabaseContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = ConfigurationManager.ConnectionStrings["DatabaseConnecionString"].ConnectionString;
optionsBuilder.UseSqlServer(connectionString);
}
public DatabaseContext()
{
}
public DatabaseContext(DbContextOptions s)
: base(s)
{
}
}
App.configファイルは、あなたのアセンブリ(DLL/EXE)でないなら、あなたはアドオンの移行/更新-移行データ移行コマンドを使用して、スタートアッププロジェクトを与える必要があります。