C# 为什么在解决EF6中的多元化服务时出错?
我的上下文类中有以下代码。从这里开始C# 为什么在解决EF6中的多元化服务时出错?,c#,entity-framework,C#,Entity Framework,我的上下文类中有以下代码。从这里开始 私有字符串GetTableName(类型) { var pluralizationService=DbConfiguration.DependencyResolver.GetService(); var result=pluralizationService.pluralization(type.Name); result=Regex.Replace(result,“[A-Z]”,m=>m.Value[0]+“”+m.Value[1]); 返回result.
私有字符串GetTableName(类型)
{
var pluralizationService=DbConfiguration.DependencyResolver.GetService();
var result=pluralizationService.pluralization(type.Name);
result=Regex.Replace(result,“[A-Z]”,m=>m.Value[0]+“”+m.Value[1]);
返回result.ToUpper();
}
我得到的错误是
非泛型方法“System.Data.Entity.Infrastructure.DependencyResolution.IDBDendencyResolver.GetService(System.Type,object)”不能与类型参数一起使用我认为我缺少using子句。或者实体框架6.0.1存在问题。除了System.Data.Entity和System.Data.Entity.Infrastructure.Multiralization之外,我找不到需要包含的库。尝试使用System.Data.Entity.Infrastructure.DependencyResolution添加代码>您是否在行var result=pluralizationService.pluralization(type.Name)上得到错误代码>?这是正确的答案。但是,编译器怎么会在引用缺少的名称空间时发出错误呢?我认为,问题在于缺少一个扩展方法,。
private string GetTableName(Type type)
{
var pluralizationService = DbConfiguration.DependencyResolver.GetService<IPluralizationService>();
var result = pluralizationService.Pluralize(type.Name);
result = Regex.Replace(result, ".[A-Z]", m => m.Value[0] + "_" + m.Value[1]);
return result.ToUpper();
}