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);
}
?私はこのような例を参照してください
services.AddTransient(typeof(IGenericRepository<>), typeof(GenericRepository<>));
TKeyを削除してIDをINTに修正した場合に動作します。しかし、私はIDを柔軟にしたい。つまり時にはguidまたはintです。 Id型の文字列を作ることができましたが、それは怠惰で間違っています!
インタフェースからジェネリック定義を削除して、 'TEntity'と' TKey'を使ってメソッドを呼び出すことができます(またはエンティティから 'TKey'を推測することさえできます)。 –