Dee*_*rma 99 c# linq asp.net lambda
我正在使用LINQ lambda表达式,如下所示:
int Value = 1;
qryContent objContentLine;
using (Entities db = new Entities())
{
objContentLine = (from q in db.qryContents
where q.LineID == Value
orderby q.RowID descending
select q).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
无法将lambda表达式转换为类型'string',因为它不是委托类型
S. *_*wat 271
我认为你在using System.Linq;这个系统类中缺少.
并添加using System.Data.Entity;到代码中
skb*_*skb 95
在我的情况下,我不得不补充 using System.Data.Entity;
小智 13
我的情况解决了我正在使用
@Html.DropDownList(model => model.TypeId ...)
Run Code Online (Sandbox Code Playgroud)
运用
@Html.DropDownListFor(model => model.TypeId ...)
Run Code Online (Sandbox Code Playgroud)
会解决它
如果这与其他用户声明的使用指令丢失无关,如果您的查询还有其他问题,也会发生这种情况。
看一看VS编译器错误列表:例如,如果查询中的“ Value”变量不存在,则将出现“ lambda to string”错误,还有一些错误与未知/错误的字段。
在您的情况下,可能是:
objContentLine = (from q in db.qryContents
where q.LineID == Value
orderby q.RowID descending
select q).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
错误:
错误241无法将lambda表达式转换为类型'string',因为它不是委托类型
错误242代表'System.Func <..>'没有1个参数
错误243名称“值”在当前上下文中不存在
修复“值”变量错误,其他错误也将消失。
小智 5
对于现在刚刚遇到这个问题的人,我解决了这种类型的错误,该错误是在所有引用和 using 语句放置正确时引发的。显然,在一个返回 DataTable 的函数中进行替换,而不是在声明的 DataTable 上调用它,这显然有些混淆。例如:
这对我有用:
DataTable dt = SomeObject.ReturnsDataTable();
List<string> ls = dt.AsEnumerable().Select(dr => dr["name"].ToString()).ToList<string>();
Run Code Online (Sandbox Code Playgroud)
但这并没有:
List<string> ls = SomeObject.ReturnsDataTable().AsEnumerable().Select(dr => dr["name"].ToString()).ToList<string>();
Run Code Online (Sandbox Code Playgroud)
我仍然不能 100% 确定原因,但是如果有人对此类错误感到沮丧,请尝试一下。
| 归档时间: |
|
| 查看次数: |
116590 次 |
| 最近记录: |