Search code examples
servicestackormlite-servicestack

ServiceStack ORMLite: The change in the order of the fields affects the result


I have a mysterious bug in the DB )))

Before such was not observed.

I get not correct data when query is executed:

var offersList = dbc.Select<Offer>(dbc.From<Catalog>().Where(x => x.user_name == userName));

The change in the order of the fields affects the result:

enter image description here

enter image description here

And one more error, I get meny exeptions during request:

{
  "name": "Microsoft.ApplicationInsights.Dev.ae8e217b7ad5482793a95b29e6da7786.Exception",
  "time": "2017-05-31T07:57:07.4118767Z",
  "iKey": "ae8e217b-7ad5-4827-93a9-5b29e6da7786",
  "tags": {
    "ai.cloud.roleInstance": "DESKTOP-76J6ML2",
    "ai.internal.sdkVersion": "unobs:2.2.0-738"
  },
  "data": {
    "baseType": "ExceptionData",
    "baseData": {
      "ver": 2,
      "properties": {
        "DeveloperMode": "true"
      },
      "exceptions": [
        {
          "id": 47651295,
          "typeName": "System.AggregateException",
          "message": "A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread.",
          "hasFullStack": true
        },
        {
          "id": 15487060,
          "outerId": 47651295,
          "typeName": "System.AggregateException",
          "message": "One or more errors occurred.",
          "hasFullStack": true
        },
        {
          "id": 5188,
          "outerId": 15487060,
          "typeName": "System.Net.WebException",
          "message": "The remote server returned an error: (404) Not Found.",
          "hasFullStack": true,
          "parsedStack": [
            {
              "level": 0,
              "method": "System.Net.HttpWebRequest.EndGetResponse",
              "assembly": "System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
            },
            {
              "level": 1,
              "method": "System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic",
              "assembly": "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
            }
          ]
        }
      ],
      "severityLevel": "Critical"
    }
  }
}

EDIT:

Loging result:

System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

[3:30] 
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
   at System.Convert.ToInt64(Object value)
   at ServiceStack.OrmLite.OrmLiteConverterExtensions.ConvertNumber(IOrmLiteDialectProvider dialectProvider, Type toIntegerType, Object value)
   at ServiceStack.OrmLite.Converters.IntegerConverter.FromDbValue(Type fieldType, Object value)
   at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReader[T](T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple`3[] indexCache, Object[] values)

Solution

  • The error message suggests you have dirty data in your database where its trying coerce something into a long that's not a long.

    Inspect your data and make sure your POCO matches your table schema, the issue maybe in category_id or somewhere else.