有什么方法可以比较 linq 查询中的泛型类型以使用 NHibernate 转换为 SQL?
像这样的东西:
public abstract class DataProviderBase<TDAO, TId>
{
protected ISession Session;
public virtual TDAO GetById(TId id)
{
var allItems = GetAllQuery(); // gives me query, usually Session.Query<TDAO>();
var res = allItems.SingleOrDefault(item => item.Id == id);
// !!! Operator '==' cannot be applied to operands of type 'TId' and 'TId'
return res;
}
protected virtual IQueryable<TDAO> GetAllQuery()
{
var query = Session.Query<TDAO>();
return query;
}
}
我知道我可以使用Session.Get<TDAO>(id);
,但这不是我想要的。GetAllQuery()
是一种虚拟方法,我希望能够覆盖它。
- NHibernate版本:3.3.3.4000
- NHibernate.Linq版本:1.0
谢谢