我遇到了一些我的代码.我有一个控制器,我打电话从我的数据库中检索公司列表.但是,当我测试它时,我得到一个错误,指出状态:LINQ to Entities无法识别方法System.String ToString()方法,并且此方法无法转换为存储表达式.
我似乎无法找到解决这个问题的方法,并且有人建议我使用foreach循环.
public List<SelectListItem> GetCompanyList()
{
using (var ctx = new Risc_Track_beEntities())
{
var companies = ctx.tblCodeBrokerComps.Where(comp => comp.BrokerCompStatus == 1);
var activeBrokerLocs = companies.Select(b => new SelectListItem
{
Value = b.BrokerCompID.ToString(),
Text = b.BrokerComp
});
return activeBrokerLocs.ToList<SelectListItem>();
}
}
Run Code Online (Sandbox Code Playgroud) 这个问题与上一期有关.我收到一个无效的匿名类型成员错误.然而,我已经完成了修复并确保它与我试图提取的给定数据相匹配.
var branches = ctx.tblCodeBrokBranches.Where(comp => comp.BrokOffID == 1);
var activeBrokerLocs = branches.Select(b => new
{
b.BrokOffID.ToString(), //Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.
b.BrokBranch
})
.AsEnumerable()
.Select(b => new SelectListItem
{
Value = b.BrokOffID.ToString(),
Text = b.BrokBranch
});
Run Code Online (Sandbox Code Playgroud)