0
的ID我有一個通用的存儲庫這樣的,它允許標識要關閉不同類型(TKEY的)通用庫與不同類型的
public interface IGenericRepository<TEntity, TKey> where TEntity : class
{
Task<TEntity> GetByIdAsync(TKey id);
Task<IEnumerable<TEntity>> ListAllAsync();
Task<IEnumerable<TEntity>> ListAsync(string criteriaName, DynamicParameters parameters);
Task<TEntity> CreateAsync(TEntity entity);
Task UpdateAsync(TEntity entity);
Task DeleteAsync(TKey id);
}
如何在.net中的核心2服務注入呢?我看到類似這樣的示例
services.AddTransient(typeof(IGenericRepository<>), typeof(GenericRepository<>));
如果我刪除TKey並將Id修復爲INT,則可以找到它。但是我希望Id很靈活。即有時它是一個guid或int。我可以使用Id類型的字符串,但感覺很懶,也錯了!
您可以從接口中刪除泛型定義,該泛型定義允許您使用任何「TEntity」和「TKey」調用方法(甚至可以從實體中推導出「TKey」)。 –