【发布时间】:2018-06-13 03:15:39
【问题描述】:
我有一个问题需要我在与我的 Core 2.0 MVC Web 应用程序相同的项目中创建一个新的 Core Console 应用程序。在我的 MVC 应用程序中,我可以通过系统数据上下文轻松连接到我的数据库。但是,当我尝试在控制台应用程序中使用相同的代码进行连接时,查询将返回 db 为空。我在控制台应用程序中引用了我的 MVC 项目,但没有运气。提前致谢。请看下面:
数据上下文
public class SystemDataContext : DbContext
{
public SystemDataContext(DbContextOptions<SystemDataContext> options)
: base(options)
{ }
public DbSet<Facility> Facility { get; set; }
}
MVC - 作品
public class FacilityService
{
private SystemDataContext db;
public FacilityService(SystemDataContext dataBase)
{
db = dataBase;
}
public List<Facility> GetFacilities()
{
var facilities = db.Facility.ToList();
return facilities;
}
}
控制台应用程序 - 返回 db null 错误
public class Program
{
private SystemDataContext db;
public Program(SystemDataContext dataBase)
{
db = dataBase;
}
public static void Main(string[] args)
{
var facilities = db.Facility.ToList();
Console.WriteLine("Hello World!");
}
}
【问题讨论】:
-
MVC 应用程序正在运行,因为您可能已经设置了依赖注入。在控制台中,您应该创建一个新实例或设置依赖注入。
-
你不应该这样做
标签: c# asp.net-mvc linq asp.net-core console-application