Entity Framework 6
とを使用するように新しいプロジェクトを構成しようとしていますが、Entity Framework 6
を使用できるように完全な.net
フレームワークを使用しています。これは以前MVCにあったプロジェクトで、コアに移行する必要があります。ASP.netコア用のEntity Framework 6の設定方法
appsettings.json
:
"Data": {
"ConnectionStrings": {
"MyConnection": "Server=namedatabase.database.secure.windows.net,1433;Database=database_Name;User ID=blahblah;Password=blahblah;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
}
}
Startup.cs
これは(私は2つのプロジェクト、1 Asp.net Core
といくつかのクラスとDBContext class
が含まれていclass library
を持って)私がやったものです
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<MyDBContext>(_ => new LIGDataContext(Configuration.GetConnectionString("MyConnection")));
}
012明らかにされ...
public class MyDBContext: DbContext
{
public MyDBContext(string connString): base(connString)
{
}
しかし、私は私のasp.net Core
プロジェクトの一部のコントローラ内でこのコードを持っていると私はDBContext
インスタンスを参照する方法がわからないんだけど:
私はclass library(.dll)
に分離DBContext
クラスを持っていますconnString
パラメータを求めていますが、私がこれをやっているのは初めてです。これを行うにはどの方法が最善の方法であるのかよく分かりません。ConfigurationManager
はもう利用できません。Core
何が必要ですか?これは、コントローラにDbContextを注入することができ、
public class MyController : Controller
{
public ActionResult MyAction()
{
var _ctx = new MyDBContext();
return PartialView(_ctx.FormsiteApplications.Where(f => f.Application).OrderBy(f => f.Title).ToList());
}
コンテキストファクトリを作成.GetConnectionString( "MyConnection")))); DbContextをプロパティを通してControllerに注入させない理由( 'var _ctx = new MyDBContext();')をインスタンス化していますか?私はそれがうまくいくと思います。 – dime2lo