Я создаю приложение MVC с ASP.NET MVC 5, и он использует Entity Framework для работы с базой данных..NET. Есть ли способ поиска DbSet в Microsoft.Data.Entity?
Это простое приложение с функциональностью CRUD для добавления элементов в список с базой данных. Я могу создавать элементы, и они сохраняются в базе данных, и теперь я хочу посмотреть страницу для определенного элемента.
Я сделал это в предыдущих приложениях, используя метод Find
на объекте DbSet
, но этот метод является частью System.Data.Entity
. Я был в состоянии создать приложение, таким образом, но с ASP.NET 5, похоже, мне нужно настроить подключение к базе данных по-разному, используя эти строки в Startup.cs
:
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
services.AddMvc();
}
Это требует, чтобы я использую Microsoft.Data.Entity
вместо System.Data.Entity
.
Вот MyDbContext
класс:
public class MyDbContext : DbContext
{
public virtual DbSet<TestModel> TestModels { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
options.UseSqlServer(@"Server=(localdb)\MSSQLLocalDB;Database=EmptyMVCAuthentication01;integrated security=True;");
}
}
Я хочу, чтобы действие, чтобы просмотреть конкретную страницу, чтобы сделать что-то вроде этого:
public IActionResult Details(int id)
{
Course course= db.Courses.Find(id);
return View(course);
}
(db
выше, является частным случаем MyDbContext
)
Однако, нет Find
метода в Microsoft.Data.Entity
. Какие-нибудь предложения о том, куда я могу идти?
Вот еще об этом: http://stackoverflow.com/questions/29030472/dbset-doesnt-have-a-find-method-in-ef7 – KrishnaDhungana