有没有办法让完全相同的复数输出,实体框架的public static string GetPluralised(string input) {
Return ChangeToPluralizingTableNameConvention(input);
};
只会传入一个字符串?{/ p>
我想要的是:
extension String {
func trunc(_ length: Int) -> String {
if self.characters.count > length {
return self.substring(to: self.characters.index(self.startIndex, offsetBy: length))
} else {
return self
}
}
func trim() -> String{
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
}
我找不到它使用的基本方法。此外,如果您可以帮助指出您如何找到PluralizingTableNameConvention使用的方法,以便将来参考。
答案 0 :(得分:1)
您可以覆盖自定义PluralizingTableNameConvention,如下所示:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Conventions.Add<MyPluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
public class MyPluralizingTableNameConvention : PluralizingTableNameConvention
{
public override void Apply(EntityType item, DbModel model)
{
// Do your work here
base.Apply(item, model);
}
}
您也可以来自IConceptualModelConvention<EntityType>, IConvention
,然后通过自定义约定,您将获得更多灵活性。
答案 1 :(得分:1)
首先,您需要导入参考System.Data.Entity.Design
。
然后确保引用命名空间:
using System.Data.Entity.Design.PluralizationServices;
然后使用类似的东西:
public static string ToPlural(this string s)
{
var ps = PluralizationService.CreateService(new System.Globalization.CultureInfo("en-gb"));
return ps.Pluralize(s);
}