您好我正在开发MVC4应用程序。我正在开发一个搜索页面,其中包含5个文本框和搜索按钮,其中只有一个文本框是必填字段。剩余不是强制性的。我想拥有所有5个文本框值的AND。我的查询如下。
var logDetails = (from c in db.ts_upldlog_content
join tbl in db.ts_upld_doc on c.upld_docid equals tbl.upld_docid
join doc in db.tm_doc_type on tbl.upld_doctypeid equals doc.doc_typeid
where
(tbl.upld_clientid == clientId && tbl.upld_employeeid == employeeID && tbl.upld_empcitizenid == citizenId && tbl.upld_doctypeid == typeofDocument && EntityFunctions.TruncateTime(c.updatedOn) >= start && EntityFunctions.TruncateTime(c.updatedOn) < end)
select new logdetails
{
//Getting all properties
}).toList();
我的问题是在上面的查询中,start和end是必需的,所以我将从UI获得一些值。让我解释一个场景。用户将提供开始和结束,剩余将为空。我的查询不会产生结果,因为我正在做&amp;&amp;操作和我的其他字段可能在DB中有一些价值。 让我们考虑下表。
clientID EmployeeID EmpCitiID docType Date
123 456 456 1 10/19/2016
当我仅通过日期时,我的查询将无效,因为我正在做&amp;&amp;操作。那有没有办法实现这种情况?任何帮助,将不胜感激。谢谢。
答案 0 :(得分:1)
tbl.upld_clientid == clientId && tbl.upld_employeeid == employeeID && tbl.upld_empcitizenid == citizenId && tbl.upld_doctypeid == typeofDocument &&
(EntityFunctions.TruncateTime(c.updatedOn) >= start && EntityFunctions.TruncateTime(c.updatedOn) < end ) )
缺少括号