Asp.net mvc 3 使用某些条件筛选SelectListItem值
我有一个SelectListItem用于DropDownList。我必须根据某些条件进行筛选。如果我尝试添加条件,那么它会给我一个类似这样的错误(LINQ to Entities无法识别方法'System.String ToString()'方法,并且该方法无法转换为存储表达式)。我将在这里添加代码。请引导我解决这个问题 代码Asp.net mvc 3 使用某些条件筛选SelectListItem值,asp.net-mvc-3,linq,entity-framework-4,html-select,Asp.net Mvc 3,Linq,Entity Framework 4,Html Select,我有一个SelectListItem用于DropDownList。我必须根据某些条件进行筛选。如果我尝试添加条件,那么它会给我一个类似这样的错误(LINQ to Entities无法识别方法'System.String ToString()'方法,并且该方法无法转换为存储表达式)。我将在这里添加代码。请引导我解决这个问题 代码 IEnumerable<SelectListItem> IssueId = (from txt in Db.Issues where txt.BibI
IEnumerable<SelectListItem> IssueId = (from txt in Db.Issues where txt.BibId == BibId
select new SelectListItem()
{
Text = txt.Description,
Value = txt.Id.ToString(),
Selected = true,
});
SelectList IssueIds = new SelectList(IssueId, "Value", "Text");
ViewBag.IssueId = IssueIds;
IEnumerable IssueId=(来自Db.Issues中的txt,其中txt.BibId==BIBIBID
选择新的SelectListItem()
{
Text=txt.Description,
Value=txt.Id.ToString(),
所选=真,
});
SelectList IssueId=新的SelectList(IssueId,“值”、“文本”);
ViewBag.IssueId=IssueId;
谢谢试试这个:
LINQ2EF不知道ToString(),但在AsEnumerable()之后,当实现ToString()时,您将获得一个本地集合
IEnumerable<SelectListItem> IssueId =
(from txt in Db.Issues.Where(e => e.BibId == BibId).AsEnumerable()
select new SelectListItem()
{
Text = txt.Description,
Value = txt.Id.ToString(),
Selected = true
});
IEnumerable IssueId=
(来自Db.Issues.Where(e=>e.BibId==bibibid.AsEnumerable()中的txt)
选择新的SelectListItem()
{
Text=txt.Description,
Value=txt.Id.ToString(),
所选=真
});
Linq To Sql无法为txt.Id.ToString()生成TSQL
执行查询后,您将需要迭代结果,或者按照xeondev的建议转换为Enumerable。该扩展似乎没有按linq排序到实体,但您可以在出现问题后进行映射,例如
var issues = (from issue in Db.Issues
where issue .BibId == BibId
select issue ).ToList();
IEnumerable<SelectListItem> IssueId = (from txt in issues
where txt.BibId == BibId
select new SelectListItem()
{
Text = txt.Description,
Value = txt.Id.ToString(),
Selected = true,
});
var-issues=(来自数据库中的问题)
其中issue.BibId==BibId
选择issue.ToList();
IEnumerable IssueId=(来自问题中的txt)
其中txt.BibId==bibibid
选择新的SelectListItem()
{
Text=txt.Description,
Value=txt.Id.ToString(),
所选=真,
});
那么错误是什么?“一些错误”告诉我们什么。帮助我们帮助你。