【发布时间】:2018-08-17 10:37:44
【问题描述】:
我是 ASP.NET WebAPI 项目的新手,并使用以下结构构建新项目:-
Project.MainAPIService
Project.BusinessManager
Project.Model
Project.Repository
Project.Common
我正在使用 Autofac 在整个项目中执行 DI。流程是这样的:-
API controller >>>>>> (DI) Business Manager >>>> (DI) Repository & creates the DBContext object manually.
我的 Repository 类看起来像这样。现在我想将客户端名称动态传递给 Repository 类,以便它只与特定客户端数据库建立数据库连接。但我无法将客户端名称从 businessManager 项目传递到 PDLRepository 并进一步传递到 DBContext 类。
public class MyRepository : IMyRepository, IDisposable
{
myContext _context = new myContext("ClientX");
private IGenericRepository<Mapping> _docMappingGenericRepo;
private IGenericRepository<Document> _DocGenericRepo;
private IGenericRepository<Activity> _activityGenericRepo;
}
mycontext 类如下所示:-
public partial class mycontext : DbContext
{
public mycontext (string ClientName)
: base(ConnectionUtil.GetConnectionString(ClientName))
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<myContext>(null);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public virtual DbSet<DocumentMapping> DocumentMapping { get; set; }
public virtual DbSet<Document> Document { get; set; }
}
请就如何相应地修复 myContext 或 MyRepository 类提出您的意见。我如何将客户端名称从 BusinessManager 传递到 Repository 到 DBContext 类?
请帮帮我。
【问题讨论】:
标签: entity-framework asp.net-web-api asp.net-web-api2 repository-pattern