在我的基地回購我有這樣的代碼工作正常:爲什麼我不能在NHibernate中使用CreateCriteria的泛型?
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'的定義是什麼樣的? – 2012-01-12 17:54:18
'實體'是通用的,可以是我的域中的任何對象。我有'Account','Broker'等 – 2012-01-12 18:08:45