很抱歉我的问题表述可能不够清晰,我没有任何正式的培训,但现在遇到了难题。
我正在将.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中做到吗?不可能。
我已经将所有代码移植并解决了所有引用问题,就我所知,它已经准备好运行。但是我无法从数据库中调用数据,我被卡住了,谷歌只显示Code First和EF相关内容,或者我不知道我真正需要什么。
所以如果有人能帮忙,非常感谢。
--更新1--
错误是“需要对象引用才能访问非静态字段、方法或属性Program._db”。
DbModel在Data/ApplicationDbContext.cs中为IIS应用程序定义,并且如下所示:
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();
}
}