asp.net - 为什么 DbSet<> 不适用于 asp.net 核心 Web 应用程序?
问题描述
我正在开发一个 ASP.Net Core Web 应用程序。在尝试设置 dbset<> 时,我收到此错误。这行代码给出了错误:
public DbSet<Person> Persons { get; set; }
Resharper 建议两个选项:
- 系统.数据.实体。
- Microsoft.EntityFrameworkCore。
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;
解决方案
例如,该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
.
推荐阅读
- python - 除了函数给我一个语法错误
- chromecast - videojs-chromecast 不播放一些加密的 hls 视频?
- python - 使用模块 pygame 在 python 中制作 Checkers 但遇到一些逻辑错误我不希望代码更改只是修复了这个问题
- android-studio - Flutter:Flutter Plugin、Flutter Package 和 Flutter Module 有什么区别?
- python - Django - 如何在自定义接收器中获取请求的 IP?
- sql - 如何根据使用 SQL Server 选择的不同(列)获取不同的行
- laravel - 如何修复此请求已被阻止;内容必须通过 HTTPS 提供
- python - 在openCV中使用cv2.TrackerMOSSE_create()等方法失败[Python]
- c++ - 使用精美的指针实现自定义分配器
- javascript - Threebox CastShadow on 3D 模型