将int和biging转换为过滤器ListViewModel C#

问题描述 投票:0回答:1

我创建了一个类似这样的ListViewModel

public class ListPersonalsViewModel
{
    public long PersonalID { get; set; }
    public int NationalCode { get; set; }
    public string FirstNameID { get; set; }
    public string LastName { get; set; }
}

并且我使用此代码

public List<ListPersonalsViewModel> GetNamePersonal(string filter = "")
{
    if (filter == null)
    {
        return db.tblPersonals.Select(p => new ListPersonalsViewModel()
                    {
                        NationalCode = p.NationalCode,
                        PersonalID = p.PersonalID,
                        FirstName = p.FirstName
                        LastName = p.LastName,
                    }).ToList();
    }

    return db.tblPersonals.Where(p => p.FirstName.Contains(filter)||
                                      p.LastName.Contains(filter) ||
                                      p.NationalCode.Contains(filter) ||
                                      p.PersonalID.Contains(filter))
                          .Select(p => new ListPersonalsViewModel()
                                           {
                                               NationalCode = p.NationalCode,
                                               PersonalID = p.PersonalID,
                                               FirstName = p.FirstName
                                               LastName = p.LastName
                                           }).ToList();
}

现在我的问题:如何将PersonalIDNationalCode转换为字符串以在这里工作?

这里只有2个我的字符串过滤器工作

c# entity-framework repository entity objectlistview
1个回答
0
投票

尝试将属性名称从FirstName更改为FirstNameID,并在语句末尾添加逗号。

public List<ListPersonalsViewModel> GetNamePersonal(string filter = "")
        {
            if (filter == null)
            {
                return db.tblPersonals.Select(p => new ListPersonalsViewModel()
                {
                    NationalCode = p.NationalCode,
                    PersonalID = p.PersonalID,
                    FirstNameID = p.FirstName,
                    LastName = p.LastName,
                }).ToList();
            }

            return db.tblPersonals.Where(p => p.FirstName.Contains(filter) ||
                                              p.LastName.Contains(filter) ||
                                              p.NationalCode.Contains(filter) ||
                                              p.PersonalID.Contains(filter))
                                  .Select(p => new ListPersonalsViewModel()
                                  {
                                      NationalCode = p.NationalCode,
                                      PersonalID = p.PersonalID,
                                      FirstNameID = p.FirstName,
                                      LastName = p.LastName
                                  }).ToList();
        }
© www.soinside.com 2019 - 2024. All rights reserved.