У всех моих сущностей есть свойство Id. Все мои таблицы в базе данных имеют автоматически сгенерированный идентификатор целочисленного идентификатора в качестве первичного ключа.
У меня есть универсальный метод для создания сущностей.
Есть ли способ получить идентификатор сущности после вставки сущности в базу данных?
public override int Create<T>(T entity)
{
string entitySet = GetEntitySetName<T>();
_context.AddObject(entitySet, entity);
_context.SaveChanges();
return <Id Here>; //TODO Return Id here
}
В простом (не универсальный) репозиторий Я могу просто вернуть Entity.Id, но как получить такое же поведение в универсальном репозитории? У меня может быть базовый класс сущностей для всех сущностей, который содержит Id-свойство int, но есть ли способ заставить его работать без реализации этого наследования?
Для сущностей POCO вам нужно будет использовать интерфейс, отражение или динамический
.
С помощью сущностей EntityObject
вы можете прочитать свойство EntityKey
.