为什么下面的代码会报构建错误?
CS0149:需要方法名称
protected override void CreateDefaultObjectSpaceProvider(CreateCustomObjectSpaceProviderEventArgs args)
{
var connectionString = args.ConnectionString;
var handler = new EFCoreDatabaseProviderHandler<MyDbContext>( MakeBuilder, connectionString ) ; // fails here with error cs0149 Method name expected.
var efCoreObjectSpaceProvider = new SecuredEFCoreObjectSpaceProvider<MyDbContext>((ISelectDataSecurityProvider)Security, handler);
args.ObjectSpaceProviders.Add(efCoreObjectSpaceProvider);
args.ObjectSpaceProviders.Add(new NonPersistentObjectSpaceProvider(TypesInfo, null));
}
private DbContextOptionsBuilder<MyDbContext> MakeBuilder(string connectionString)
{
var builder = new DbContextOptionsBuilder<MyDbContext>();
builder.UseSqlServer(connectionString);
builder.UseSecurity((ISelectDataSecurityProvider)Security);
builder.UseAudit();
return builder;
}
EFCoreDatabaseProviderHandler 定义
using Microsoft.EntityFrameworkCore;
namespace DevExpress.ExpressApp.EFCore
public delegate void EFCoreDatabaseProviderHandler<TDbContext>(DbContextOptionsBuilder<TDbContext> dbContextOptionsBuilder, string connectionString) where TDbContext : DbContext;
}