C# Breeze Js为自定义EF ADO.Net提供程序生成元数据

C# Breeze Js为自定义EF ADO.Net提供程序生成元数据,c#,asp.net,sql-server,entity-framework,breeze,C#,Asp.net,Sql Server,Entity Framework,Breeze,我们使用的是自定义实体框架ADO.Net提供程序(数据访问层是应用程序和FireBird之间的中间层)。EF与此类供应商合作良好。我们还使用连接到EFContextProvider的Breeze服务。 问题是-当我尝试使用以下内容时: var contextProvider = new EFContextProvider<CompanyContext>(); return contextProvider.Metadata(); 好的,除了我的自定义提供程序之外,我还向web.con

我们使用的是自定义实体框架ADO.Net提供程序(数据访问层是应用程序和FireBird之间的中间层)。EF与此类供应商合作良好。我们还使用连接到EFContextProvider的Breeze服务。 问题是-当我尝试使用以下内容时:

var contextProvider = new EFContextProvider<CompanyContext>();
return contextProvider.Metadata();
好的,除了我的自定义提供程序之外,我还向web.config添加了SqlServer提供程序引用:

 <entityFramework>
    <providers>
      <provider invariantName="MyDataProvider" type="MyDataProvider.MyProviderServices, MyDataProvider"/>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>   
</entityFramework>

看起来Breeze在内部使用SqlServer提供程序。是否要将EFContextProvider.Metadata与自定义ADO.Net提供程序一起使用?

哦,我自己很快就找到了答案。在默认的CompanyContext构造函数中,应添加以下行:

Database.SetInitializer<CompanyContext>(null);
Database.SetInitializer(null);
就这样!Breeze从DbSet中完美且非常快速地生成元数据

Additional information: CREATE DATABASE permission denied in database 'master'.
Database.SetInitializer<CompanyContext>(null);