C# 不支持ToString()方法
我正在尝试用c#创建一个选择列表。我的代码:C# 不支持ToString()方法,c#,database,linq-to-sql,C#,Database,Linq To Sql,我正在尝试用c#创建一个选择列表。我的代码: var ceremonies = db.Ceremonies; var Ceremonies = from c in ceremonies select new SelectListItem { Text = c.Name + "_" + c.Date, Value = c.Id.ToS
var ceremonies = db.Ceremonies;
var Ceremonies =
from c in ceremonies
select new SelectListItem
{
Text = c.Name + "_" + c.Date,
Value = c.Id.ToString()
};
但在这里,我得到了一些异常,比如
ToString()方法不受支持。问题出在哪里?您的查询正在转换为SQL-但是对ToString
的调用无法正确处理。通常最简单的解决方法是将查询有效地拆分为需要在数据库中完成的部分,然后通过AsEnumerable
切换到LINQ to Objects:
var ceremonies = db.Ceremonies
.Select(c => new { c.Name, c.Date, c.Id }
.AsEnumerable()
.Select(c => new SelectListItem {
Text = c.Name + "_" + c.Date,
Value = c.Id.ToString()
});
顺便说一句,声明两个局部变量只因大小写的不同而不同,这使得可读性非常差