//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Globalization; using System.Data.Entity.Design.PluralizationServices; using System.Data.Metadata.Edm; using System.IO; using System.Data.Entity.Design.SsdlGenerator; using System.Data.Entity.Design.Common; using System.Diagnostics; namespace System.Data.Entity.Design { internal class EntityDesignPluralizationHandler { /// /// user might set the service to null, so we have to check the null when using this property /// internal PluralizationService Service { get; set; } /// /// Handler for pluralization service in Entity Design /// /// overall switch for the service, the service only start working when the value is true /// /// internal EntityDesignPluralizationHandler(PluralizationService service) { this.Service = service; } internal string GetEntityTypeName(string storeTableName) { return this.Service != null ? this.Service.Singularize(storeTableName) : storeTableName; } internal string GetEntitySetName(string storeTableName) { return this.Service != null ? this.Service.Pluralize(storeTableName) : storeTableName; } internal string GetNavigationPropertyName(AssociationEndMember toEnd, string storeTableName) { if (this.Service != null) { return toEnd.RelationshipMultiplicity == RelationshipMultiplicity.Many ? this.Service.Pluralize(storeTableName) : this.Service.Singularize(storeTableName); } else { return storeTableName; } } } }