我有一个像这样的通用存储库,允许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 core 2服务中注入此内容?我看到这样的例子
services.AddTransient(typeof(IGenericRepository<>), typeof(GenericRepository<>));
如果我删除TKey并将Id修复为INT,则可以找到它。但我希望Id具有灵活性。即有时它是guid或int。我可以制作Id类型的字符串,但这感觉很懒而错!
答案 0 :(得分:0)
services.AddTransient(typeof(IGenericRepository<,>), typeof(GenericRepository<,>));
这对我有用。