标签:guid where col length contain microsoft 语句 eid end
1.IN的使用;
(1)当多项查询的是Guid类型时;
#region 将string数组转化Guid数组 string[] ProjIdList = ProjIdset.Trim().Split(‘,‘); Guid[] guid_ProjId = new Guid[ProjIdList.Length]; for (int i = 0; i < ProjIdList.Length; i++) { guid_ProjId[i] = new Guid(ProjIdList[i]); } #endregion list_data = list_data.Where(p => (guid_ProjId.Contains(p.WareID))).ToList();
(2)当多项查询的是int类型时;
#region 将string类型转化为int类型的隐式数组 string[] ProjTmId_set = ProjTmIdmodel.Trim().Split(‘,‘); int?[] ProjTmId_set_num_at = new int?[ProjTmId_set.Length]; #endregion DetailList = DetailList.Where(p => (ProjTmId_set_num_at).Contains(p.ProjTmId)).ToList();
(3)当多项查询的是string类型时;
#region string数组 string[] ProjIdList = ProjIdset.Trim().Split(‘,‘); #endregion list_data = list_data.Where(p => (ProjIdList.Contains(p.WareName))).ToList();
2.Not IN的使用;
(1)当多项查询的是Guid类型时;
#region 将string数组转化Guid数组 string[] ProjIdList = ProjIdset.Trim().Split(‘,‘); Guid[] guid_ProjId = new Guid[ProjIdList.Length]; for (int i = 0; i < ProjIdList.Length; i++) { guid_ProjId[i] = new Guid(ProjIdList[i]); } #endregion list_data = list_data.Where(p =>!(guid_ProjId.Contains(p.WareID))).ToList();
(2)当多项查询的是int类型时;
#region 将string类型转化为int类型的隐式数组 string[] ProjTmId_set = ProjTmIdmodel.Trim().Split(‘,‘); int?[] ProjTmId_set_num_at = new int?[ProjTmId_set.Length]; #endregion DetailList = DetailList.Where(p => !(ProjTmId_set_num_at).Contains(p.ProjTmId)).ToList();
(3)当多项查询的是string类型时;
#region string数组 string[] ProjIdList = ProjIdset.Trim().Split(‘,‘); #endregion list_data = list_data.Where(p => !(ProjIdList.Contains(p.WareName))).ToList();
总结:IN与Not IN通过“!”来区分,且除string的类型字段外,其他类型都需先进行数组转换,方可使用!
如果哪里有写错的地方,欢迎指正!
如果写的对你有所帮助的话,记得点个赞哦!
标签:guid where col length contain microsoft 语句 eid end
原文地址:https://www.cnblogs.com/lysouko/p/13202091.html