StructureMap-默认构造函数蓝色

StructureMap-默认构造函数蓝色,structuremap,entity-framework-6,Structuremap,Entity Framework 6,我快疯了,所以我得到了这个 public class FrameworkDbTestBase : IDisposable { protected readonly FrameworkDb Db; public FrameworkDbTestBase() { var connection = Effort.DbConnectionFactory.CreateTransient(); Db = new FrameworkDb(connectio

我快疯了,所以我得到了这个

public class FrameworkDbTestBase : IDisposable
{
    protected readonly FrameworkDb Db;
    public FrameworkDbTestBase()
    {
        var connection = Effort.DbConnectionFactory.CreateTransient();
        Db = new FrameworkDb(connection);
    }

    public void Dispose()
    {
        Db.Dispose();
    }
}
这是在努力模仿ef6。。喜欢它,这样我就可以在后台连续执行测试,而所有的更改都是针对我的代码库进行的。。。很好,但不幸的是,我需要这样做

public partial class FrameworkDb : DbContext
{
    public FrameworkDb() : base("DefaultConnection"){}
    public FrameworkDb(DbConnection connection): base(connection, true)
    {
        Configuration.LazyLoadingEnabled = false;
    }

    public DbSet<Site> Sites { get; set; }
...
唉!我抬起眼睛。。。我希望structuremap使用另一个较短的构造函数,因此在根据本文进行一些挖掘之后:我应该更改此项:

For<FrameworkDb>().Use <FrameworkDb>();

好了,那个理论就到此为止。。。嗯。。。有人吗?有人吗?唉…

来吧,没人?答案很简单。。。嗯

var framework = new Framework();
For<FrameworkDb>().Use(() => framework);
var framework=newframework();
For()。使用(()=>框架);
如此简单却又如此优雅,这是你必须知道的

For<FrameworkDb>().Use(() => new FrameworkDb());
For<DbConnection>().Use(() => new EntityConnection("DefaultConnection"));
StructureMap.StructureMapException was unhandled by user code
  HResult=-2146232832
  Message=StructureMap Exception Code:  207
Internal exception while creating Instance '00fbcc4f-c5f0-4eb3-b814-9d0ba1bb8e19' of PluginType System.Data.Common.DbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.  Check the inner exception for more details.
  Source=StructureMap
  ErrorCode=207
var framework = new Framework();
For<FrameworkDb>().Use(() => framework);