首页 新闻 会员 周边

LinQ序列不包含任何元素

0
[已解决问题] 解决于 2011-08-19 14:41

“/web”应用程序中的服务器错误。

序列不包含任何元素

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 序列不包含任何元素

源错误:

行 15: 行 16:    DataClassesDataContext dataCC = new DataClassesDataContext();行 17:    Books books = dataCC.Books.Single(b => b.Id == id);行 18:    return books;行 19: 


源文件: d:\shuchen\DAL\Service\BookService.cs    行: 17

堆栈跟踪:

[InvalidOperationException: 序列不包含任何元素] System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +1151 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) +113 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +344 System.Data.Linq.Table`1.System.Linq.IQueryProvider.Execute(Expression expression) +56 System.Linq.Queryable.Single(IQueryable`1 source, Expression`1 predicate) +300 DAL.BookService.GetByBookId(Int32 id) in d:\shuchen\DAL\Service\BookService.cs:17 BLL.BookManager.GetByBookId(Int32 id) in d:\shuchen\BLL\Manager\BookManager.cs:17[TargetInvocationException: 调用的目标发生了异常。] System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +0 System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +72 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +251 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +28 System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +486 System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1953 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74 System.Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75 System.Web.UI.Control.EnsureChildControls() +102 System.Web.UI.Control.PreRenderRecursiveInternal() +42 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496



版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1

乐鱼鱼的主页 乐鱼鱼 | 初学一级 | 园豆:200
提问于:2011-08-13 15:00
< >
分享
最佳答案
0

InvalidOperationException  

没有元素满足 predicate 中的条件。

- 或 -

多个元素满足 predicate 中的条件。

- 或 -

源序列为空。


http://msdn.microsoft.com/zh-cn/library/bb534800.aspx

dataCC.Books中不存在或者存在多个满足条件的元素就会引发异常

webaspx | 小虾三级 |园豆:1973 | 2011-08-15 15:12
我已经解决了,因为我数据库Book表里面没有ID为0的数据,然后我,把Single换为SingleOrDefault了,然后修改为了查询的方法,之前我是用ID查询的,现在是查询所有的数据
乐鱼鱼 | 园豆:200 (初学一级) | 2011-08-19 14:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册