Проблема в том, что Entity Framework допускает возможность использования нескольких наборов, использующих один и тот же тип, поэтому для работы должно иметь имя типа. Если вы знаете , что не будете использовать несколько наборов одного и того же типа, вы можете следовать соглашению об именах, которое позволяет создать имя из типа.
У нас была та же проблема, и мы изначально решили назвать каждый набор сущностей [Type]Set
(например, FormSet
, ActivitySet
).
С появлением .NET 4.0 Microsoft представила API, который они используют для множественного набора сущностей в инструменте EF в Visual Studio, поэтому мы рассматриваем возможность придерживаться множественного числа по умолчанию и использовать этот инструмент для определения какое имя по умолчанию (например, Forms
, Activities
).
using System.Data.Entity.Design.PluralizationServices;
...
internal static readonly PluralizationService PluralizationService =
PluralizationService.CreateService(CultureInfo.CurrentCulture);
...
static public void Insert<T>(MyEntities DataContext, T obj) where T : class
{
try
{
string setName = PluralizationService.Pluralize(typeof(T).Name);
DataContext.AddObject(setName,obj);
DataContext.SaveChanges();
}
catch (Exception e)
{
throw new Exception("Problems adding object" + e);
}
}