Почему DbSet <> не работает с основным веб-приложением asp.net? - PullRequest
0 голосов
/ 26 ноября 2018

Я работаю над базовым веб-приложением ASP.Net.При попытке установить dbset <> я получаю эту ошибку.Эта строка кода выдает ошибку: public DbSet<Person> Persons { get; set; } Resharper предлагает два варианта:

  • System.Data.Entity.
  • Microsoft.EntityFrameworkCore.

public System.Data.Entity.DbSet<Person> Persons { get; set; }

Может кто-нибудь объяснить, какой вариант выбрать: первый или второй вариант?

Iвключили необходимые ссылки.

using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using Microsoft.EntityFrameworkCore;
using DbContext = System.Data.Entity.DbContext;

Я вижу эту ошибку: enter image description here

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Причина неоднозначна. Ссылка: DbSet <> определен в System.Data.Entity и Microsoft.EntityFrameworkCore.

Поскольку вы работаете с ASPNET Core, рекомендуется использовать Microsoft.EntityFrameworkCore

0 голосов
/ 26 ноября 2018

Директива using - это ярлык, позволяющий писать, например, DbSet вместо System.Data.Entity.DbSet.

Но и System.Data.Entity, и Microsoft.EntityFrameworkCoreесть класс DbSet, поэтому он не знает, какой использовать, и он не выберет для вас.Так что вы должны сказать это.

Тем не менее, вы не должны использовать оба.Entity Framework 6 и Entity Framework Core - это две совершенно разные вещи.System.Data.Entity для EF 6, а Microsoft.EntityFrameworkCore для EF Core.

Возможно, вам не следует использовать System.Data.Entity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...