【发布时间】:2018-11-16 03:00:34
【问题描述】:
我在提问时不以我的清晰度而闻名,所以请原谅我,我也没有接受过任何正式培训,但我很难过。
我正在从 .Net 4.7.1 升级到 .Net Core 2.1,我的解决方案由两部分组成,一个用于 MVC 的 IIS Web 应用程序和一个控制台应用程序,IIS 应用程序显示数据,控制台应用程序完成所有工作实际处理。
在我为我的控制台应用程序启动这个端口之前,当我需要数据库中的东西时,我会简单地
using (var db = new ApplicationDbContext())
{
SomethingModel model = db.X.First(x => x.Whatever == whatever);
}
就像我从数据库中得到我想要的数据一样,你认为我可以用 Core 2.1 做到这一点吗?
我已将所有代码移植到所有引用中,据我所知,它已准备好运行。除了我不能从数据库中调用数据并且我被难住了,谷歌只是先显示代码和 ef 的东西,或者我不知道我真正在问什么。
所以如果有人可以帮助它非常感谢
-- 更新 1--
错误是 An Object refrence is required for the non-static field,metho or property Program._db
DbModel 在 Data/ApplicationDbContext.cs 中为 IIS App 定义,如下
public ApplicationDbContext(DbContextOptions<ApplicationDbContext>
options)
: base(options)
{
}
-- 控制台应用程序的 Program.cs
class Program
{
private ApplicationDbContext _db { get; }
public Program(ApplicationDbContext context)
{
_db = context;
}
static void Main(string[] args)
{
new ExecutionEngine(_db).Run();
}
}
【问题讨论】:
-
发生了什么?你有例外吗?
-
所以Core有不同的配置模型。您至少应该发布配置上下文和构造函数的位置。真正漂亮的是使用 DI,但对于现有应用程序来说可能太多了。
-
我已经更新了原来的问题,希望能更清楚
-
它不是升级。 ASP.NET Core MVC 不是 ASP.NET MVC 的新版本,它是一个全新编写的框架。您只能迁移到 ASP.NET Core,不能升级到它。它不像更改少数软件包并期望它能够工作那么容易。
标签: c# entity-framework asp.net-core .net-core