我正在尝试使用界面 IPluralizationService
自定义我的实体的多元化没有成功!
必须使用 Inflector 对所有实体进行复数化图书馆。
尝试
class Config : DbConfiguration
{
public Config()
{
SetPluralizationService(new CustomPluralization());
}
}
class CustomPluralization : IPluralizationService
{
public string Pluralize(string word)
{
return word.Pluralize();
}
public string Singularize(string word)
{
return word.Singularize();
}
}
在我的上下文中;
modelBuilder.Configurations.Add<Config>(.. ?? ..)
最佳答案
根据msdn的文章Code-Based Configuration (EF6 onwards) <强>节Using DbConfiguration ,只需将 DbConfiguration
类放在与 DbContext
类相同的程序集中即可。
不过您可以手动指定它,如explained in the article通过在 DbContext
中使用配置文件或注释。
配置文件:
<entityFramework codeConfigurationType="MyNamespace.MyDbConfiguration, MyAssembly">
<!-- Your EF config -->
</entityFramework>
注释:
[DbConfigurationType("MyNamespace.MyDbConfiguration, MyAssembly")]
public class MyContextContext : DbContext
{
}
或者
[DbConfigurationType(typeof(MyDbConfiguration))]
public class MyContextContext : DbContext
{
}
备注:
这些例子直接来 self 链接的文章
关于c# - EF6如何自定义复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17471391/