我想知道,因为我想为我的web应用程序(MVC)控制器实现依赖注入容器。在.NET核心框架中,我过去在项目中有一个Startup.cs文件,用于向容器中添加瞬态和依赖项注入,也用于DbContext
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureS
这是一个标准的洋葱架构MVC应用程序,包含服务层和存储层。应用程序需要从旧组件(外部文件源)读取连接字符串并传递给DBContext。
如何将此连接字符串传递给存储库或DBContext,以便将其传递给DBContext构造函数?
public class TSService : ITSService
{
public TSService (ITSRepository tsRepository)
{
}
}
public class TSRepository : ITSRepository
{
private IContext _c
我在我的ASP.NET应用程序中创建了一个ASP.NET5类库。我想添加Startup.cs文件,以便从.json (ConnectionString)文件中加载一些配置,以便在项目中使用它,并将其添加到DI中。然后,我想将AppSettings注入我的DbContext中,这是在同一个项目中。但这是行不通的,似乎启动类中的代码从未被执行过。
将AppSettings注入DbContext引发异常
InvalidOperationException: Unable to resolve service for type 'Beo.Dal.Properties.AppSettings
我遇到了一种情况,我需要在特定的时间执行特定的代码(在我的ASP .NET核心项目中)。
我知道推迟一项任务并不是一个很好的解决方案,但这就是我所拥有的,我想知道如何让它发挥作用:
async Task MyMethod()
{
// do something
// Create a new thread that waits for the appropriate time
TimeSpan time = dbAppointment.ScheduledOn - TimeSpan.FromMinutes(5.0) - DateTime.UtcNow;
_ = T
ENV: VS 2019,C# .NET Framework4.6.1
我使用一个.json文件来保存我的所有配置:
IConfigurationBuilder config = new ConfigurationBuilder();
config.AddJsonFile("autofac.json");
我的问题是,如何将DbContext包含在这个文件中?我正在将Autofac添加到现有的应用程序中,并在新的部分中使用它。这就是原始代码中的代码(将真名更改为"My*“以保护无辜):
public partial class MyDbContext :
我正试图为一个简单的CRUD项目创建后端部分。我对asp.net完全陌生,目前正在阅读。但我被卡住了。
我已经创建了我需要的实体(模型)
public class VehicleMakeEntity
{
public int Id { get; set; }
public string Name { get; set; }
public string Abrv { get; set; }
public VehicleMakeEntity Make { get; set; }
}
我还创建了一个标准的DbContext类和存储库
class MakeRepo
使用实体框架核心2.03 .net核心构建web
继续得到下面的错误,尝试我能想到的一切来克服它,不确定问题是什么,还有其他人有这样的问题吗?
InvalidOperationException:没有为这个DbContext配置数据库提供程序。可以通过重写DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序。如果使用AddDbContext,那么还要确保DbContext类型在构造函数中接受DbContextOptions对象,并将其传递给DbContext的基本构造函数。
startup.cs
using church
有没有办法在DbConfiguration内核中使用.net?前任:
public class DbConfig : DbConfiguration
{
public DbConfig()
{
SetProviderServices("System.Data.SqlClient",
System.Data.Entity.SqlServer.SqlProviderServices.Instance);
}
}
我假设我需要获得一个.net框架dll并在我的项目中引用它才能使用该类?我这样做的目的是在DbContext类上添加
我的应用程序对处理程序类实例使用了单例模式。它负责处理一些事件:
public class MyHandler
{
public void HandlerEvent(object sender, EventArgs e)
{
//want to update DB here
}
}
MyHandler可能需要开始与DB的交互。那我能做吗?这就是我的愿景:
只是强硬地把DbContext作为MyHandler的独生子女。显然这是个坏主意。
使用ASP.Net核心DI特性并将DbContext发送到MyHandler,但作为一个实例“每个请求一个”。
在使用ASP.NET Web 2编写应用程序时,我设法使用Autofac在过滤器级别实现了属性注入。
(下面的示例属于非核心ASP.NET Web )
builder.Register(x => new MyCustomGlobalActionFilter())
.AsWebApiActionFilterOverrideFor<MyCustomController>()
.InstancePerRequest()
.PropertiesAutowired();
有几件事要提:
我们应该为这样的控制器注册它:.AsWebApiActionFilter
我为我的核心1.0应用程序添加了一个测试项目。其中我有在构造函数中使用dbContext的存储库。
如何在测试项目中访问这个dbContext并正确地注入它?
这是我的ApplicationDbContext课程:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: b
请帮帮我,我应该如何将DBContext对象传递给MyEntityRepsitory类的构造函数?
例如:
public interface IRepository<T> where T: class
{
}
public class Repository<T> : IRepository<T> where T : class
{
private readonly DbContext _dbContext;
public Repository(DbContext dbContext)
{
_dbContext
我正在建立一个ASP.NET核心项目,并遵循基于项目的CQRS模式。我遵循了简单的喷射器集成指南,但有一点有点困惑.我希望继续使用UseInMemoryDatabase选项进行测试,并且只能找到使用Core AddDbContext方法的示例。
我的DbContext实现了几个接口:
public class EntityDbContext : DbContext,
IUnitOfWork,
IReadEntities,
IWriteEntities
{
// code here
}
我是在Startup.ConfigureServices方法中这样做的:
se
在我的ASP.NET核心应用程序中,我有DbContext,它包含两种类型的实体,比如小学生和班级。我想要增加一个新的班级,获得新班级的Id,并增加一个新的学生到班级。我试过这样做:
var Class = new Class{ name = "Math" };
Context.Classes.Add(Class);
await Context.SaveChangesAsync();
var Pupil = new Pupil{ name = "Rem", ClassId = Class.Id };
Context.Pupils.Add(Pupil);
awai
我们在应用程序中有几个依赖于实体框架6的类。因此,我们将我们的DbContext注入到各个领域。但是,某些模块实现需要DbContext的多线程方法作为临时服务,以防止任何线程问题。其他模块可以通过简单地在任何子模块或接收相同共享DbContext的模块上调用DbContext来将它们串在一起并进行大规模保存。但是,这种方法要求将DbContext添加为一个作用域服务。
除了构建一些子类或接口(这只是从我的DbContext继承)之外,是否有任何方法动态地确定一个类是获得给定服务的作用域版本还是临时版本?
子类上下文的示例可能如下所示
public class TransientDbConte