If I have a .tt template, I can use entity.Name to write out the name of an entity, e.g:
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{;
WriteLine(entity.Name);
}
Using normal transformations or T4, How do I write out the actual name of the entity set? (E.g. for Person, it might be Persons - but maybe I changed it to People in the designer, so I'd want that instead).
Thanks!
Richard
Once you get your "ItemCollection" from the "CreateEdmItemCollection" method, grab the default Entity Container and you can derive your EntitySet names from that...
I was looking for the answer to the same question and found that it's not too bad. However, instead of getting the EntitySet name, it's quite easy to use the same pluralizer.
In your text template, presumably at the top, add the following lines:
This allows you to create a pluralizer instance as such:
Then to pluralize an entity in the template, just use this:
Of course, you can replace
code.Escape(entity)
with the name of your variable storing the entity name.And that's it!
Sources:
Are there any limitations on what libraries can be imported in a t4 template? http://vthornheart.railsplayground.net/blog/archives/655
you might find these useful: