我想要将加入语句结果设置为模型视图。将加入语句结果设置为类模型
但问题:有4个名称字段要搜索,但只有名字是强制性的,其他不是。
LINQ statment:
public static List<Laborer> getLaborerByName(int? laborOfficeNo, long? componyNo, string firstName, string secondName, string thirdName, string fourthName)
{
var queryGetLaborerByName = (from c in db.Compny
join x in db.Laborer on c.PK_componyId equals x.FK_componyId
where c.SequenceNumber == componyNo
&& c.FK_LaborOfficeId == laborOfficeNo
select x);
if (!String.IsNullOrEmpty(firstName))
queryGetLaborerByName = queryGetLaborerByName.Where(pr => pr.FirstName.Contains(firstName));
if (!String.IsNullOrEmpty(secondName))
queryGetLaborerByName = queryGetLaborerByName.Where(pr => pr.SecondName.Contains(secondName));
if (!String.IsNullOrEmpty(thirdName))
queryGetLaborerByName = queryGetLaborerByName.Where(pr => pr.ThirdName.Contains(thirdName));
if (!String.IsNullOrEmpty(thirdName))
queryGetLaborerByName = queryGetLaborerByName.Where(pr => pr.FourthName.Contains(fourthName));
if (queryGetLaborerByName.ToList().Count > 0)
{
return queryGetLaborerByName.ToList();
}
return null;
}
ViewModle:
public string LaborerFirstName { get; set; }
public string LaborerSecondName { get; set; }
public string LaborerThirdName { get; set; }
public string LaborerFourthName { get; set; }
如何使它工作与维护检索算法过滤模型。
我希望它清除了解
它似乎无法理解。 我想要的是保持搜索过滤。其中接受论文的情景:
搜索按名字only.Result:将所有的员工都匹配的输入名字的名字。
按姓名和名字搜索。结果:将所有员工姓名与名字输入的名字和姓氏相匹配。
按名和名和第三名搜索。结果:将所有员工的名字都与名字输入的名字和第二名和第三名匹配。
按名和姓,名和第三名和第四名搜索。结果:将所有员工姓名分为第一名和第二名,第三名和第四名匹配姓名输入。所以这里大部分会显示通缉员工的名字。
什么问题? – Larry
我无法看到问题与您的代码是什么。您是否遇到错误?调用queryGetLaborerByName.ToList();的结果是否与预期不符? –
问题是如何在将结果分配到列表时保持搜索过滤工作正常。 –
user3509742