这种SQL拼接用linq应该怎么实现?

gameboyerik001 2014-06-30 02:23:45
string SQLstr="SELECT * FROM iFile WHERE fileStatus=1";

if(Textbox_Search.text.trim()!="")
{
SQLstr+=" AND (AppNo LIKE '%+Textbox_Search.text.trim()+%')";
SQLstr+=" AND (FileNo LIKE '%+Textbox_Search.text.trim()+%')";
SQLstr+=" AND (StaffNo LIKE '%+Textbox_Search.text.trim()+%')";
}

DataTable dt = SQLHelper.GetDataTable(SQLstr);


RT

这种SQL拼接用linq应该怎么实现?

为什么总感觉linq不如SQL灵活,是我用的不够熟练的事情吗?总感觉linq很像hql但是又不如hql好用
...全文
206 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
smthgdin_020 2014-06-30
  • 打赏
  • 举报
回复
LINQ查询: var sql = from t1 in iFile where t.AppNo.Contains(new string [] {Textbox_Search.text.trim}) && t.FileNo .Contains(new string [] {Textbox_Search.text.trim}) && t.StaffNo.Contains(new string [] {Textbox_Search.text.trim}) 扩展方法: iFile.where(lambda表达式。);
gameboyerik001 2014-06-30
  • 打赏
  • 举报
回复
主要是if里面的如何实现?
exception92 2014-06-30
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:

var query = from p in  iFile  where p.fileStatus ==1;
if(Textbox_Search.text.trim()!=""){
    string filter = Textbox_Search.text.trim();
     Func<iFile类, bool> filterFunc = p => (p.AppNo.Contains(filter ) || .....|| .......;
     query = query.Where(filterFunc );
}
当然 你的 并 关系, 把 || 换成 &&
exception92 2014-06-30
  • 打赏
  • 举报
回复

var query = from p in  iFile  where p.fileStatus ==1;
if(Textbox_Search.text.trim()!=""){
    string filter = Textbox_Search.text.trim();
     Func<iFile类, bool> filterFunc = p => (p.AppNo.Contains(filter ) || .....|| .......;
     query = query.Where(filterFunc );
}
-烟花雨季 2014-06-30
  • 打赏
  • 举报
回复
艾玛,写错了
var query = DbContext.iFile.Where(p => p.fileStatus==1);//双等号,sorry
                if (!string.IsNullOrEmpty(Textbox_Search.text.trim))
                {
                    query = query.Where(p => p.AppNo.Contains(Textbox_Search.text.trim));
                    //..........................
                }
-烟花雨季 2014-06-30
  • 打赏
  • 举报
回复
var query = DbContext.iFile.Where(p => p.fileStatus=1);
                if (!string.IsNullOrEmpty(Textbox_Search.text.trim))
                {
                    query = query.Where(p => p.AppNo.Contains(Textbox_Search.text.trim));
                    //..........................
                }
moonwrite 2014-06-30
  • 打赏
  • 举报
回复
query = content.Where(.....) if(string.isNullorW(extbox_Search.text)) { query = query.Where(.....) } if(...) { query = query.Where(.....) }

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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