Click here to Skip to main content
15,891,597 members
Articles / .NET
Tip/Trick

Determine the Entity Set for a given Entity.

Rate me:
Please Sign up or sign in to vote.
4.89/5 (2 votes)
19 Oct 2010CPOL 9.3K   2  
I am writing a generic repository and got stuck on the List<t>() method, as I didn't have any entity set name. Normally you can glean this from an entity instance, like in an Update<t>() method, but List<t>() has no starting point. I deduced the following method to determine the Type of an entity set object that contains entities of type T, which is the type parameter of my repository object.

C#
private static string GetEntitySetName(FoodEntities context)
{
    var entitySetType = context.GetType().GetProperties().Where(
        p =>
        p.PropertyType.IsGenericType && p.PropertyType.Name.StartsWith("ObjectSet") &&
        p.PropertyType.GetGenericArguments()[0].Name == typeof (T).Name).Single();
    return entitySetType.Name;
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Founder Erisia Web Development
South Africa South Africa
I am a software developer in Johannesburg, South Africa. I specialise in C# and ASP.NET MVC, with SQL Server, with special fondness for MVC and jQuery. I have been in this business for about eighteen years, and am currently trying to master Angular 4 and .NET Core, and somehow find a way to strengthen my creative faculties.
- Follow me on Twitter at @bradykelly

Comments and Discussions

 
-- There are no messages in this forum --