转换过滤器 ListViewModel C# 的 int 和 biging
Convert int and biging for filter ListViewModel C#
我创建了一个类似这样的 ListViewModel
public class ListPersonalsViewModel
{
public long PersonalID { get; set; }
public int NationalCode { get; set; }
public string FirstName { 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();
}
现在我的问题是:我如何将 PersonalID
和 NationalCode
转换为字符串以供在这里工作?
这里只有 2 个我的字符串过滤器有效
我收到这 2 个错误
错误 CS1929 'long' 不包含 'Contains' 的定义和最佳扩展方法重载 'Queryable.
错误 CS1929 'int' 不包含 'Contains' 的定义和最佳扩展方法重载 'Queryable.
我觉得这样比较好理解
尝试将 属性 名称从 FirstName
更改为 FirstNameID
并在语句末尾添加一个逗号。
主要问题是 FirstNameID = p.FirstName
这一行,语句末尾缺少 "comma"。
另一个问题是,属性 名称不正确。将 "Filename" 更改为 "FileNameID".
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();
}
用这段代码我的问题就解决了
,
return db.tblPersonals.Where(p => p.FirstName.Contains(filter)||
p.LastName.Contains(filter) ||
p.NationalCode.ToString().Contains(filter) ||
p.PersonalID.ToString().Contains(filter))
.Select(p => new ListPersonalsViewModel()
,
我创建了一个类似这样的 ListViewModel
public class ListPersonalsViewModel
{
public long PersonalID { get; set; }
public int NationalCode { get; set; }
public string FirstName { 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();
}
现在我的问题是:我如何将 PersonalID
和 NationalCode
转换为字符串以供在这里工作?
这里只有 2 个我的字符串过滤器有效
我收到这 2 个错误
错误 CS1929 'long' 不包含 'Contains' 的定义和最佳扩展方法重载 'Queryable.
错误 CS1929 'int' 不包含 'Contains' 的定义和最佳扩展方法重载 'Queryable.
我觉得这样比较好理解
尝试将 属性 名称从 FirstName
更改为 FirstNameID
并在语句末尾添加一个逗号。
主要问题是 FirstNameID = p.FirstName
这一行,语句末尾缺少 "comma"。
另一个问题是,属性 名称不正确。将 "Filename" 更改为 "FileNameID".
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();
}
用这段代码我的问题就解决了
,
return db.tblPersonals.Where(p => p.FirstName.Contains(filter)||
p.LastName.Contains(filter) ||
p.NationalCode.ToString().Contains(filter) ||
p.PersonalID.ToString().Contains(filter))
.Select(p => new ListPersonalsViewModel()
,