T 实体不包含 id 的定义

T Entity does no contain a definition for id

我正在学习 this 教程,以便更好地理解通用存储库。

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

本教程对泛型参数有类型约束

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

这假定 IEntity 接口与 Id 属性,该接口未在文章中显示,但存在于文章链接的源代码中。

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

这意味着与通用存储库一起使用的所有实体都需要从该接口派生才能工作。