Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将字符串传递给DocumentHelper.GetDocuments()时发生异常,其中()_Asp.net Mvc_Kentico - Fatal编程技术网

Asp.net mvc 将字符串传递给DocumentHelper.GetDocuments()时发生异常,其中()

Asp.net mvc 将字符串传递给DocumentHelper.GetDocuments()时发生异常,其中(),asp.net-mvc,kentico,Asp.net Mvc,Kentico,我试图获得如下节点: DocumentHelper.GetDocuments() .Where("NodeParentID == 25 && NodeLevel == 2") .Where("NodeParentID", QueryOperator.Equals, 25) .Where("NodeLevel ", QueryOperator.Equals, 7); 但有一个例外: “=”附近的语法不正确。在 System.Data.SqlClient

我试图获得如下节点:

DocumentHelper.GetDocuments()
.Where("NodeParentID == 25 && NodeLevel == 2")
 .Where("NodeParentID", QueryOperator.Equals, 25)        
    .Where("NodeLevel ", QueryOperator.Equals, 7);
但有一个例外:

“=”附近的语法不正确。在 System.Data.SqlClient.SqlConnection.OnError(SqlException异常, 布尔断开连接,操作
1 wrapCloseInAction)位于
System.Data.SqlClient.TdsParser.ThroweException和Warning(TdsParserStateObject
stateObj、布尔调用方连接锁、布尔异步关闭)位于
System.Data.SqlClient.TdsParser.TryRun(运行行为,
SqlCommand cmdHandler、SqlDataReader数据流、,
BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject
stateObj、Boolean和dataReady)位于
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()位于
System.Data.SqlClient.SqlDataReader.get_MetaData()位于
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,
运行行为运行行为,字符串重置选项字符串,布尔值
isInternal,用于描述参数加密的布尔值,布尔值
应该缓存(始终加密)在
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior、RunBehavior、Boolean returnStream、Boolean
异步、Int32超时、任务和任务、布尔异步写入、布尔inRetry、,
SqlDataReader ds,布尔描述参数加密请求)位于
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior、RunBehavior、布尔返回流、字符串
方法,TaskCompletionSource
1完成,Int32超时,任务和任务, Boolean&在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior、布尔返回流、字符串 方法)在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为,字符串方法)在 System.Data.Common.DbDataAdapter.FillInternal(数据集, DataTable[]datatables,Int32 startRecord,Int32 maxRecords,字符串 srcTable、IDbCommand、CommandBehavior)位于 System.Data.Common.DbDataAdapter.Fill(DataSet数据集,Int32 startRecord、Int32 maxRecords、字符串srcTable、IDbCommand、, 命令(行为)在 System.Data.Common.DbDataAdapter.Fill(数据集)位于 CMS.DataEngine.AbstractDataConnection.ExecuteQuery(字符串queryText, QueryDataParameters queryParams,QueryTypeEnum queryType,布尔值 requiresTransaction)--内部异常堆栈跟踪的结束----
在CMS.DataEngine.AbstractDataConnection.HandleError(字符串queryText, 例外情况(ex)在 CMS.DataEngine.AbstractDataConnection.ExecuteQuery(字符串queryText, QueryDataParameters queryParams,QueryTypeEnum queryType,布尔值 要求(再交易)在 CMS.DataEngine.GeneralConnection.RunQuery(QueryParameters查询)位于 CMS.DataEngine.GeneralConnection.RunQueryWithRetry(查询参数 查询,Int32 retryCount)位于 CMS.DataEngine.GeneralConnection.ExecuteQuery(查询参数查询, Int32和totalRecords)在 CMS.DataEngine.DataQueryBase
1.GetDataFromDBInternal()位于
CMS.DataEngine.DataQueryBase
1.GetDataFromDB()位于 CMS.DataEngine.DataQueryBase
1.GetData()位于
CMS.DataEngine.DataQueryBase
1.get_Result()位于 CMS.DataEngine.DataQueryBase
1.GetResults(IDataQuery查询,Int32&
totalRecords)在CMS.DataEngine.DataQueryBase上
在
CMS.DocumentEngine.DocumentQueryProperties.GetDataInternal(IDocumentQuery
查询,Func
1 baseGetDataMethod,操作
1 setTotalRecords)位于 CMS.DataEngine.DataQueryBase
1.GetData()位于
CMS.DataEngine.DataQueryBase
1.get_Result()位于 CMS.DataEngine.MultiObjectQueryBase
3.EnsureTypedResult()位于
CMS.DataEngine.MultiObjectQueryBase
3.GetEnumerator()位于 System.Collections.Generic.List
1..ctor(IEnumerable
1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

我做错了什么?

==是一种c#语法,SQL只使用一个=

您应该在以下情况下执行以下操作:

DocumentHelper.GetDocuments()
.Where("NodeParentID == 25 && NodeLevel == 2")
 .Where("NodeParentID", QueryOperator.Equals, 25)        
    .Where("NodeLevel ", QueryOperator.Equals, 7);
==是一种c#语法,SQL只使用一个=

您应该在以下情况下执行以下操作:

DocumentHelper.GetDocuments()
.Where("NodeParentID == 25 && NodeLevel == 2")
 .Where("NodeParentID", QueryOperator.Equals, 25)        
    .Where("NodeLevel ", QueryOperator.Equals, 7);

“WHERE”子句中的SQL语法不正确。您试图在需要使用T-SQL的地方使用C#语法

不正确:

DocumentHelper.GetDocuments().Where("NodeParentID == 25 && NodeLevel == 2");
正确:

DocumentHelper.GetDocuments().Where("NodeParentID = 25 AND NodeLevel = 2");

“WHERE”子句中的SQL语法不正确。您试图在需要使用T-SQL的地方使用C#语法

不正确:

DocumentHelper.GetDocuments().Where("NodeParentID == 25 && NodeLevel == 2");
正确:

DocumentHelper.GetDocuments().Where("NodeParentID = 25 AND NodeLevel = 2");

检查正在执行的SQL查询。我不太熟悉Kentico或您使用的版本,但请尝试
。Where(“NodeParentID”,QueryOperator.Equals,“25”)
。看起来还有一个
。WhereEquals(“,”)
语法。请检查正在执行的SQL查询。我不太熟悉Kentico或您使用的版本,但请尝试
。Where(“NodeParentID”,QueryOperator.Equals,“25”)
。看起来还有一个
.WhereEquals(“,”)
语法。您的代码很接近,您缺少了.And()。其中(“NodeParentID”,QueryOperator.Equals,25)和(),其中(“NodeLevel”,QueryOperator.Equals,7)@BrendenKehren我有了它并编辑了我的评论,如果你有多个where条件,比如Kentico会自动添加和。你的代码很接近,你缺少了。and()。其中(“NodeParentID”,QueryOperator.Equals,25)和(),其中(“NodeLevel”,QueryOperator.Equals,7)@BrendenKehren我有这个想法并编辑了我的评论,如果你有多个像Kentico会自动添加和删除的条件。