В моих базах репо у меня есть этот код, который работает отлично:Почему я не могу использовать generics с CreateCriteria в NHibernate?
abstract class BaseRepo <T> : IRepo <T>
{
private ISession _session;
public Entity GetById<Entity>(int Id)
{
return _session.Get<Entity>(Id);
}
// other methods
}
Я хочу добавить еще один метод, чтобы вернуть все строки для объекта (объект). Я хочу сделать что-то вроде:
public IList<Entity> GetAll<Entity>()
{
return _session.CreateCriteria<Entity>().List<Entity>;
}
, но я получаю сообщение об ошибке сказав:
The type 'Entity' must be a reference type in order to use it as parameter 'T' in the generic type or method 'NHibernate.ISession.CreateCriteria<T>()'
Вот мой DAL дизайн для справки: Should I use generics to simplify my DAL?
Как выглядит определение для 'Entity'? –
'Entity' является общим и может быть любым объектом в моем домене. У меня есть 'Account',' Broker' и т. Д. –