有没有Linq to EF 的专家,疑难问题?

zhang1struts1yun 2014-11-26 11:19:59

string log_user = Request.Form["log_user"];
string log_org = Request.Form["log_org"];

ParameterExpression parameter1 = Expression.Parameter(typeof(SJJH_DLQX_LOG), "D");
ConstantExpression constant1 = Expression.Constant(log_user);
ConstantExpression constant2 = Expression.Constant(log_org);
var query1 = Expression.Call(Expression.Default(typeof(string)), typeof(string).GetMethod("Contains"), Expression.Default(typeof(string)));
var query2 = Expression.Call(Expression.Default(typeof(string)), typeof(string).GetMethod("Contains"), Expression.Default(typeof(string)));
if (!string.IsNullOrEmpty(log_user))
{
query1 = Expression.Call(Expression.PropertyOrField(parameter1, "log_user"), typeof(string).GetMethod("Contains"), constant1);
}
if (!string.IsNullOrEmpty(log_org))
{
query2 = Expression.Call(Expression.PropertyOrField(parameter1, "log_org"), typeof(string).GetMethod("Contains"), constant2);
}
var query = Expression.And(query1, query2);
var lambda1 = Expression.Lambda<Func<SJJH_DLQX_LOG, Boolean>>(query, parameter1);
lambda1.Compile();

temp = db.Set<T>().Where<T>(whereLambda);
total = temp.Count(); // 这一行报错:未将对象引用到实例
...全文
306 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang1struts1yun 2014-11-26
  • 打赏
  • 举报
回复
不好意思? temp = db.Set<T>().Where<T>(lambda1.Compile());
feiyun0112 2014-11-26
  • 打赏
  • 举报
回复
whereLambda 在哪赋值?

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧