【发布时间】:2017-11-09 01:31:07
【问题描述】:
int'不包含'Contains'的定义,最好的扩展方法重载'Queryable.Contains(IQueryable, string)'需要'IQueryable'类型的接收器
这是控制器的部分代码:
var projects = db.Projects.Include(p => p.Engineer).Include(p => p.SiteLocation);
// var projects = from p in db.Projects
// select p;
if (!String.IsNullOrEmpty(searchString))
{
projects = projects.Where(p => p.NumberMCP.Contains(searchString)
|| p.nameProject.Contains(searchString) ||
p.Ptype.Contains(searchString) || p.EngineerID.Contains(searchString));
}
项目模型
public partial class Project
{
public int ProjectID { get; set; }
[DisplayName("MCP")]
[Required(ErrorMessage = "NumberMCP es requerido")]
public string NumberMCP { get; set; }
[DisplayName("Ingeniero")]
[Required(ErrorMessage = "Tarjeta Ingeniero es requerido")]
public int EngineerID { get; set; }
[DisplayName("Localidad")]
[Required(ErrorMessage = "ID Localidad es requerido")]
public int SiteLocationID { get; set; }
[DisplayName("Descripción")]
[Required(ErrorMessage = "Descripción es requerido")]
public string nameProject { get; set; }
[DisplayName("Tipo Proyecto")]
[Required(ErrorMessage = "Tipo Proyecto es requerido")]
public string Ptype { get; set; }
[DisplayName("Año")]
[Required(ErrorMessage = "Año es requerido")]
public Nullable<int> Pyear { get; set; }
[DisplayName("Link del Proyecto")]
[Required(ErrorMessage = "Link del Proyecto")]
public string Plink { get; set; }
public virtual Engineer Engineer { get; set; }
public virtual SiteLocation SiteLocation { get; set; }
}
}
【问题讨论】:
-
可以添加Projects的模型吗?
-
是的,当然。
-
@Chris Pratt 的解决方案看起来很准确。你有什么问题吗?
-
是的。仍然。 “int”不包含“包含”的定义,最佳扩展方法重载“Queryable.Contains(IQueryable, string)”需要“IQueryable
”类型的接收器。 -
你能举几个例子来说明搜索字符串的值可以是什么吗?如果可能,请更新问题。
标签: c# asp.net-mvc iqueryable