Я пытаюсь настроить новый проект на использование Entity Framework 6
с помощью ASP.net Core
. Я использую полный фреймворк .net
, чтобы иметь возможность использовать Entity Framework 6
. Это проект, который ранее был в MVC, и мне нужно перенести его в Core. Это то, что я сделал (у меня есть два проекта, один Asp.net Core
и class library
, который содержит некоторые классы и DBContext class
):Как настроить Entity Framework 6 для ASP.net Core
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
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<MyDBContext>(_ => new LIGDataContext(Configuration.GetConnectionString("MyConnection")));
}
У меня есть DBContext
класса отделенного в class library(.dll)
:
public class MyDBContext: DbContext
{
public MyDBContext(string connString): base(connString)
{
}
Но у меня есть этот код внутри некоторых контроллеров моего asp.net Core
проекта, и я не уверен, как в настоящее время относятся к экземпляру DBContext
... Очевидно это прося параметр connString
, это первый раз, когда я делаю это, и я не уверен, что это лучший подход для этого, ConfigurationManager
больше не доступен в Core
. Что мне нужно делать? Это Entity Framework 6 нет Entity Framework Ядро ..
public class MyController : Controller
{
public ActionResult MyAction()
{
var _ctx = new MyDBContext();
return PartialView(_ctx.FormsiteApplications.Where(f => f.Application).OrderBy(f => f.Title).ToList());
}
Вы настраиваете инъекцию DbContext в 'ConfigureServices()' 'с services.AddScoped (_ => новый LIGDataContext (Конфигурация .GetConnectionString ("MyConnection"))); '. Любая причина не позволять DbContext вводиться в свойство Controller через свойство (вы создаете экземпляр 'var _ctx = new MyDBContext();')? Я думаю, что он должен работать. –
dime2lo