2016-06-14 2 views
0

Gibt es eine Möglichkeit, genau die gleiche Plural-Ausgabe, die PluralizingTableNameConvention Entity Framework würde eine Tabelle tun, nur durch die Übergabe in einer Zeichenfolge?Erhalten Sie eine plurale Version einer Zeichenfolge mit EF PluralizingTableNameConvention()

Was würde Ich mag es, so etwas wie:

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

Ich kann die Basismethode finden, die es verwendet. Wenn Sie darüber hinaus darauf hinweisen könnten, wie Sie die Methode gefunden haben, die PluralizingTableNameConvention verwendet, wäre dies eine gute Referenz für die Zukunft.

Antwort

1

können Sie außer Kraft setzen PluralizingTableNameConvention anpassen, wie folgend:

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

Sie können auch inherte von IConceptualModelConvention<EntityType>, IConvention dann werden Sie mehr Flexibilität, indem Sie Ihre Konvention Customing®.

+0

Vielen Dank, ich habe meine Frage bearbeitet, um zu versuchen und zeigen Ihnen, was ich denke. Das ist eine tolle Info! – RemarkLima

1

Zuerst müssen Sie die Referenz System.Data.Entity.Design importieren.

dann stellen Sie sicher, dass Sie den Namespace Referenz:

using System.Data.Entity.Design.PluralizationServices; 

Dann so etwas wie verwenden:

public static string ToPlural(this string s) 
    { 
     var ps = PluralizationService.CreateService(new System.Globalization.CultureInfo("en-gb")); 
     return ps.Pluralize(s); 
    } 
+1

so das Problem ist gelöst ^^ guter Job Ich will es nur überprüfen, aber es ist fertig :-) +1 wieder 4 u –

Verwandte Themen