如何解决实体框架已添加到引用中,但未找到DbContext
我将实体框架添加到了引用中,但是仍然收到一个错误消息,指出它不存在。
解决方法
关于您的项目设置的信息很少,但是您似乎正在使用.Net Core。为了在.Net Core中使用EntityFramework,您需要执行以下步骤:
.Net Core:
您需要安装Microsoft.EntityFrameworkCore软件包而不是EntityFramework
。您可以使用以下命令通过nuget安装此软件包:Install-Package Microsoft.EntityFrameworkCore -Version 3.1.7
(如果需要,可以将3.1.7替换为其他版本)
安装软件包后,您需要向使用列表中添加using Microsoft.EntityFrameworkCore;
或仅用DbContext
替换Microsoft.EntityFrameworkCore.DbContext
using Microsoft.EntityFrameworkCore;
namespace FriendOrganizer.DataAccess{
public class FriendOrganizerDbContext: DbContext{
...
}
}
或
namespace FriendOrganizer.DataAccess{
public class FriendOrganizerDbContext: Microsoft.EntityFrameworkCore.DbContext{
...
}
}
但是,如果您想在.Net Framework中使用ENtityFramework,则应遵循以下步骤:
.Net Framework
您需要安装EntityFramework软件包。您可以使用以下命令通过nuget进行安装:Install-Package EntityFramework -Version 6.4.4
(如果需要,可以用其他版本替换6.4.4),
安装软件包后,您需要将System.Data.Entity
添加到using
的列表中,或仅将DbContext
替换为System.Data.Entity.DbContext
using System.Data.Entity;
namespace FriendOrganizer.DataAccess{
public class FriendOrganizerDbContext: DbContext{
...
}
}
或
namespace FriendOrganizer.DataAccess{
public class FriendOrganizerDbContext: System.Data.Entity.DbContext{
...
}
}
,
我认为此问题来自Pluralsight视频:首先使用WPF,MVVM和实体框架代码构建企业应用程序。
在第5节的标题为:创建DbContext子类的区域中,作者(T. Huber)-从NuGet安装Entity Framework 6.1.3(不是核心版本)。当我这样做时,我抓住了6.4.4版本。之后,使用System.Data.Entity;不工作。我会得到:
“ CS0234:类型或名称空间'Entity'在名称空间'System.Data'中不存在(您是否缺少程序集引用?)”后来我尝试使用EF Core,只是找到了基类(“ FriendOrganizerDb”)不喜欢那里的那个字符串。
我的解决方案是卸载Nuget软件包,并根据视频安装NuGet Entity Framework版本6.1.3。实体框架的“版本”适用于:使用System.Data.Entity;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。