0
私のプロジェクトでDepencyInjectionを使用するためにStructureMapを使用しています。私は自分のソリューションに5つのプロジェクトを持っています。show StructureMapを使用するときにメソッド名が必要です
私はIUnitOfWork
DAL
のインターフェイスとApplicationDbContext
でIUnitOfWork
のI Defnation機能を持っています。
ApplicationDbContext:今
public class ApplicationDbContext : DbContext, IUnitOfWork
{
public ApplicationDbContext()
: base("ApplicationDBContext")
{
}
public virtual DbSet<User> Users { get; set; }
public void ForceDatabaseInitialize()
{
Database.Initialize(true);
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
#region IUnitOfWork Members
public void MarkAsDeleted<TEntity>(TEntity entity) where TEntity : class
{
Entry(entity).State = EntityState.Deleted;
}
public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
{
return base.Set<TEntity>();
}
.
.
.
私はメインプロジェクトにIUnitOfWork
を登録したい:
重大度コードDescri:
public static class StructureMapDefnation { private static readonly Lazy<Container> _containerBuilder = new Lazy<Container>(defaultContainer, LazyThreadSafetyMode.ExecutionAndPublication); public static IContainer Container { get { return _containerBuilder.Value; } } private static Container defaultContainer() { var container = new Container(ioc => { // map same interface to different concrete classes ioc.For<IUser>().Use<EfUserService>(); ioc.For<IUnitOfWork>().Use(() => new ApplicationDbContext())(); }); container.AssertConfigurationIsValid(); return container; } }
それは私に、このエラーを表示BimehKosarFinal E予想ptionプロジェクトファイルの行の抑制状態 エラーCS0149メソッド名:この行で\ MyProjectと\ BimehKosarFinal \ BimehKosarFinal \のStructureMap \ StructureMapDefnation.cs 28アクティブ
:
ioc.For<IUnitOfWork>().Use(() => new ApplicationDbContext())();
どうしたの ?どうすればこの問題を解決できますか?