Linq to sql 动态添加条件多表查询数据
fromdstuinDB.t_imsstudentjoindsigninDB.t_imsignupsondstu.OBJ_IDequalsdsign.studentIDs...
from dstu in DB.t_imsstudent
join dsign in DB.t_imsignups
on dstu.OBJ_ID equals dsign.studentID
select new
{
OBJ_ID = dsign.objID,
name = dstu.name,
CSRQ = dstu.CSRQ,
XBM = dstu.XBM,
manuallabornumber = dsign.manuallabornumber,
trainingofoccupation = dsign.trainingofoccupation,
tfdegree = dsign.tfdegree,
};
像这样多表查询
但是现在需要根据几个条件。。条件是动态添加的。。是根据用户的选择来添加的。。用户可能选择了名字为多少 。。也可能选择了身份证号为多少。。也可能要求名字和身份证号为多少。。这样动态的条件查询。。
我使用linq 的addwhere追加条件。。因为我多表查询的时候重新new了一个表。。所以导致现在没法动态追加条件。。追加条件一直提示表类型不正确。。额。。不知道我描述清楚了没??有什么办法解决这个问题么?
追加条件的代码这样做的。
List<Expression<Func<LinqToSql.Orm.t_imsignup, bool>>> exlist = new List<Expression<Func<LinqToSql.Orm.t_imsignup, bool>>>();
var list = DataList.Where(IMSROOT.App_Code.DynamicLinq.AddWhere<LinqToSql.Orm.t_imsignup>(exlist));
或者说有没有其他办法来查询数据??
问题已经解决了。。想自己来回答这个问题。。但是好像不行。。
这样写都解决了。。。。。没人回答这个问题我就只能这样了。。 展开
join dsign in DB.t_imsignups
on dstu.OBJ_ID equals dsign.studentID
select new
{
OBJ_ID = dsign.objID,
name = dstu.name,
CSRQ = dstu.CSRQ,
XBM = dstu.XBM,
manuallabornumber = dsign.manuallabornumber,
trainingofoccupation = dsign.trainingofoccupation,
tfdegree = dsign.tfdegree,
};
像这样多表查询
但是现在需要根据几个条件。。条件是动态添加的。。是根据用户的选择来添加的。。用户可能选择了名字为多少 。。也可能选择了身份证号为多少。。也可能要求名字和身份证号为多少。。这样动态的条件查询。。
我使用linq 的addwhere追加条件。。因为我多表查询的时候重新new了一个表。。所以导致现在没法动态追加条件。。追加条件一直提示表类型不正确。。额。。不知道我描述清楚了没??有什么办法解决这个问题么?
追加条件的代码这样做的。
List<Expression<Func<LinqToSql.Orm.t_imsignup, bool>>> exlist = new List<Expression<Func<LinqToSql.Orm.t_imsignup, bool>>>();
var list = DataList.Where(IMSROOT.App_Code.DynamicLinq.AddWhere<LinqToSql.Orm.t_imsignup>(exlist));
或者说有没有其他办法来查询数据??
问题已经解决了。。想自己来回答这个问题。。但是好像不行。。
这样写都解决了。。。。。没人回答这个问题我就只能这样了。。 展开
展开全部
sql = "select * from t where 1=1";
//姓名不为空就把姓名加入where条件
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
{
sql = sql + string.Format(" and name like '%{0}%'", this.txtName.Text.Trim());
}
//身份证号不为空就把身份证号加入where条件
if (!string.IsNullOrEmpty(this.txtID.Text.Trim()))
{
sql = sql + string.Format(" and id like '%{0}%'", this.txtID.Text.Trim());
}
//姓名不为空就把姓名加入where条件
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
{
sql = sql + string.Format(" and name like '%{0}%'", this.txtName.Text.Trim());
}
//身份证号不为空就把身份证号加入where条件
if (!string.IsNullOrEmpty(this.txtID.Text.Trim()))
{
sql = sql + string.Format(" and id like '%{0}%'", this.txtID.Text.Trim());
}
TableDI
2024-07-18 广告
2024-07-18 广告
当在Excel中匹配两个表格的数据时,我们可以使用多种方法。一种常见的方法是使用“VLOOKUP”函数,它允许你在一个区域或表格的首列中查找值,并返回同一行中其他列的值。确保两个表格中有一个共同的键(如ID、姓名等),并在VLOOKUP函数...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询