Вы можете определить EntitySetName объекта во время выполнения, используя следующий код:
internal static EntitySetBase GetEntitySet<TEntity>(this ObjectContext context)
{
EntityContainer container = context.MetadataWorkspace.GetEntityContainer(context.DefaultContainerName, DataSpace.CSpace);
EntitySetBase entitySet = container.BaseEntitySets.Where(item => item.ElementType.Name.Equals(typeof(TEntity).Name))
.FirstOrDefault();
return entitySet;
}
Затем ObjectContext имеет метод AddObject(string entitySetName, Object entity)
( документация MSDN ).
Объединяя их, вы можете создать репозиторий, в который вы можете вставить object
, определить имя набора сущностей и затем добавить объект.