У меня есть вот такой общий репозиторий
public class Repository<T> : IRepository<T> where T: class
{
DataContext _db;
public Repository()
{
_db = new DataContext("connection string");
}
System.Data.Linq.Table<T> GetTable
{
get { return _db.GetTable<T>(); }
}
public T GetBy(Func<T, bool> exp)
{
return GetTable.SingleOrDefault(exp);
}
....
}
Можно ли добавить в этот репозиторий универсальный метод для проверки существования любой сущности , подобной этой:
public bool IsExisted(T entity)
{
...
}
это легко написать в любом репозитории
_productRepository.GetBy(p => p.Id == 5 // or whatever);
, где productRepository, как это:
public class ProductRepository : Repository<Product>
{
public ProductRepository()
: base()
{
}
}
Я пришел к этому, так как я всегда хочу проверитьдля существования сущности много, поэтому мне не нужно писать один и тот же метод во всех репозиториях.