2016-06-14 1 views
0

が正確にのEntity FrameworkのPluralizingTableNameConventionと同じ複数の出力を文字列を渡すだけで取得できますか?私はそれが使用する基本メソッドを見つけることができませんEFのPluralizingTableNameConvention()を使用して複数のバージョンの文字列を取得します

public static string GetPluralised(string input) { 
    Return ChangeToPluralizingTableNameConvention(input); 
}; 

:私が望む何

のようなものです。さらに、PluralizingTableNameConventionが使用するメソッドがどのように見つかったかを指摘することができれば、将来の参照のために役立つはずです。

答えて

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からinherteことができ、その後、あなたの規則をcustomingすることにより、より柔軟性を持つことになります。

+0

を多くのおかげで、私は私が考えている何をしようとして表示するように私の質問を編集しました。これは素晴らしい情報です! – RemarkLima

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); 
    } 
+1

問題は解決されています^^良い仕事私はちょうどそれをチェックしたいが完了です:-) +1もう一度4 u –

関連する問題