首页 > 解决方案 > 为什么 DbSet<> 不适用于 asp.net 核心 Web 应用程序?

问题描述

我正在开发一个 ASP.Net Core Web 应用程序。在尝试设置 dbset<> 时,我收到此错误。这行代码给出了错误: public DbSet<Person> Persons { get; set; } Resharper 建议两个选项:

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

谁能解释选择哪一个:第一个或第二个选项?

我已经包含了必要的参考资料。

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

我看到这个错误:在此处输入图像描述

标签: asp.netasp.net-core

解决方案


例如,该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.


推荐阅读