public T GetSingle<T>(Func<T,bool> func) where T:class
{
return Dc.GetTable<T>().Where<T>(fun);
}
这个方法func是动态传入的,Log和sql跟踪器查出来生成的sql语句是不带where筛选条件的
但如果类似
public tb_GS_Comment GetSingle<tb_GS_Comment>()
{
return Dc.GetTable<tb_GS_Comment>().Where<tb_GS_Comment>(c=>c.id==1);
}
生成的sql语句是带where表达式的,请问为什么.有什么办法能解决吗?public T GetSingle<T>(Func<T,bool> func) where T:class
{
return Dc.GetTable<T>().Where<T>(fun);
}
这个方法func是动态传入的,Log和sql跟踪器查出来生成的sql语句是不带where筛选条件的
但如果类似
public tb_GS_Comment GetSingle<tb_GS_Comment>()
{
return Dc.GetTable<tb_GS_Comment>().Where<tb_GS_Comment>(c=>c.id==1);
}
生成的sql语句是带where表达式的,请问为什么.有什么办法能解决吗?
public T GetSingle<T>(Func<T,bool> func) where T:class
{
return Dc.GetTable<T>().FirstOrDefault(fun);//Where<T>(fun); 肯定可以
}
return Dc.GetTable<T>().Where<T>(fun); 这个可以看做是嵌套查询(在查询结果中再进行查询),而
return Dc.GetTable<tb_GS_Comment>().Where<tb_GS_Comment>(c=>c.id==1);则是简单的 条件查询。