它工作然后它突然失败了。尝试一些解析,但没有运气。
Error Code: SqlException
Message Conversion failed when converting from a character string to uniqueidentifier.
堆栈跟踪
[SalesOrderDetailsGet:14/08/2015上午07时59分29秒]:[要求{的SalesOrderID:676b44dcb0c245a5a3191cda194b3267}] System.Data.SqlClient.SqlException(0x80131904):从字符串转换为uniqueidentifier当转换失败。在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔breakConnection,动作1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔callerHasConnectionLock,布尔asyncClose)在System.Data .SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean&amp; dataReady)位于System.Data.SqlClient.SqlDataReader的System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean&amp; moreRows)。在ServiceStack.OrmLite.OrmLiteResultsFilterExtensions.ConvertTo [T]的ServiceStack.OrmLite.OrmLiteUtils.ConvertTo [T](IDataReader dataReader,IOrmLiteDialectProvider dialectProvider)的System.Data.SqlClient.SqlDataReader()处的TryReadInternal(Boolean setTimeout,Boolean&amp; more) (IDbCommand dbCmd,String sql)at ServiceStack.OrmLite.OrmLiteReadCommandExtensions.SingleById [T](IDbCommand dbCmd,O bject值)ServiceStack.OrmLite.OrmLiteReadApi&LT;&GT; c__DisplayClass3c 1.<SingleById>b__3b(IDbCommand dbCmd) at ServiceStack.OrmLite.OrmLiteExecFilter.Exec[T](IDbConnection dbConn, Func
2滤波器)在ServiceStack.OrmLite.OrmLiteReadExpressionsApi.Exec [T](的IDbConnection dbConn,Func键2 filter) at ServiceStack.OrmLite.OrmLiteReadApi.SingleById[T](IDbConnection dbConn, Object idValue) at BookWS.ServiceLogic.Sales.SalesOrderDataProcess.GetSalesOrderById(Guid id) in C:\Users\Carl\Documents\Visual Studio 2013\Projects\BookWS\BookWS\BookWS.ServiceLogic\Sales\SalesOrderDataProcess.cs:line 38 at BookWS.ServiceInterface.SalesOrderServices.Get(SalesOrderDetailsGet request) in C:\Users\Carl\Documents\Visual Studio 2013\Projects\BookWS\BookWS\BookWS.ServiceInterface\Sales\SalesOrderServices.cs:line 40 at lambda_method(Closure , Object , Object ) at ServiceStack.Host.ServiceRunner
1.Execute(IRequest请求,对象实例,TRequest requestDto)ClientConnectionId:0a6a1c79-14e9-4575-9fab-21c542508a78错误号码:8169,状态:2,类:16
GET:
public Object Get(SalesOrderDetailsGet request)
{
SalesOrderDataProcess sODP = new SalesOrderDataProcess(Db);
SalesOrder salesOrderTemp = sODP.GetSalesOrderById(request.SalesOrderId);
数据层:
public SalesOrder GetSalesOrderById(Guid id)
{
return _dbConnection.SingleById<SalesOrder>(id);
}
跑步停在了上面的区块
return _dbConnection.SingleById<SalesOrder>(id);
非常感谢。
答案 0 :(得分:2)
这是common SQL Server exception,表示无法将字符串值转换为 uniqueidentifier (即GUID)。
返回并确保表中的所有数据都具有uniqueidentifier字段的值,并且该值是有效的GUID。