EF Generic Repository get Id из новой вставленной общей сущности

У всех моих сущностей есть свойство 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, но есть ли способ заставить его работать без реализации этого наследования?

8
задан Ricardo Souza 7 April 2012 в 19:05
поделиться

1 ответ

​​

Для сущностей POCO вам нужно будет использовать интерфейс, отражение или динамический .

С помощью сущностей EntityObject вы можете прочитать свойство EntityKey .

4
ответ дан 5 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: