C# 如何在控制台项目中使用CreateDataContext实例?
假设我有两个项目: 持久性项目,它是一个类库,这是我放置DataContext类的地方C# 如何在控制台项目中使用CreateDataContext实例?,c#,entity-framework-core,C#,Entity Framework Core,假设我有两个项目: 持久性项目,它是一个类库,这是我放置DataContext类的地方 public class DataContext : DbContext { public DataContext(DbContextOptions<DataContext> options) : base(options) { } // code removed for brevity } 公共类DataContext:DbContext { 公共数据上下文(
public class DataContext : DbContext
{
public DataContext(DbContextOptions<DataContext> options) : base(options)
{
}
// code removed for brevity
}
公共类DataContext:DbContext
{
公共数据上下文(DbContextOptions):基本(选项)
{
}
//为简洁起见,删除了代码
}
我还有另一个控制台项目,它使用上面的项目进行数据访问。如何创建DataContext的实例?我想我需要在我的控制台中实现依赖注入,但不知道如何实现
顺便说一句,我正在使用.NET Core 3.1和Entity Framework Core,我不是专家,但我会告诉你我在.NET Core cosnole应用程序中做了什么,如果有其他更好的方法,请建议我 像这样声明类
class TestContext: DbContext
{
IConfigurationRoot _configuration;
public TestContext(IConfigurationRoot configuration)
{
_configuration = configuration;
}
public DbSet<YourEntity> YourEntity { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_configuration.GetConnectionString("connection_string"));
}
}
我不是专家,但我会告诉你我在.net core cosnole应用程序中做了什么,如果有其他更好的方法,请建议我 像这样声明类
class TestContext: DbContext
{
IConfigurationRoot _configuration;
public TestContext(IConfigurationRoot configuration)
{
_configuration = configuration;
}
public DbSet<YourEntity> YourEntity { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_configuration.GetConnectionString("connection_string"));
}
}
解释文件
var optionsBuilder=new DbContextOptionsBuilder();
optionsBuilder.UseSqlite(“数据源=blog.db”);
使用(var context=newdatacontext(optionsBuilder.Options))
{
//做事
}
对文档进行解释
var optionsBuilder=new DbContextOptionsBuilder();
optionsBuilder.UseSqlite(“数据源=blog.db”);
使用(var context=newdatacontext(optionsBuilder.Options))
{
//做事
}
谢谢。但是,我不想在我的控制台项目中创建另一个上下文类,那么您可以在类库中引用已经创建的上下文类。但是如何创建呢?不确定在类构造函数中放入什么。您可以使用默认构造函数,然后在那里可以定义。但是,我不想在我的控制台项目中创建另一个上下文类,那么您可以在类库中引用已经创建的上下文类。但是如何创建呢?不确定在类构造函数中放入什么。可以使用默认构造函数,然后在那里定义
var optionsBuilder = new DbContextOptionsBuilder<DataContext>();
optionsBuilder.UseSqlite("Data Source=blog.db");
using (var context = new DataContext(optionsBuilder.Options))
{
// do stuff
}