T Entity не содержит определения для id - PullRequest
0 голосов
/ 06 июня 2018

Я следую этому учебнику, чтобы лучше понять универсальные репозитории.

Метод GetById:

public async Task<TEntity> GetById(int id)
{
   return await _dbContext.Set<TEntity>()
               .AsNoTracking()
               .FirstOrDefaultAsync(e => e.Id == id);
}

Но я получаю эту ошибку: TEntity не содержитопределение для id.

Это то, чего мне не хватает или что я делаю неправильно?

PS: я использую ASP.NET Core 2

1 Ответ

0 голосов
/ 06 июня 2018

Учебное пособие имеет ограничение типа на универсальный аргумент

public interface IGenericRepository<TEntity>
    where TEntity : class, IEntity {
    //...
}

, это предполагает, что интерфейс IEntity со свойством Id, который не был показан в статье, но существует в источникекод, указанный в статье.

public interface IEntity {
    int Id { get; set; }
}

Это означает, что все сущности, используемые с универсальным репозиторием, должны быть получены из этого интерфейса для его работы.

...