Release Bulletin of SnapObjects 1.0.x
This document provides the release notes for Appeon SnapObjects 1.0.x.
SnapObjects 1.0.x has the following known issues:
If you use GetValue method (syntax #4) to get value in a DataUnpacker object, if the value is not null, the type parameter
cannot be Datetime?.
For example, the following code will throw an exception “Newtonsoft.Json.JsonReaderException : Unexpected character encountered while parsing value: 2. Path '', line 1, position 1.”
var unpacker = new DataUnpacker(json, DataFormat.Json); var value = unpacker.GetValue<DateTime?>("datetime");
The data retrieved by the LoadAllByPage method from SqlModelMapper is not ordered in the same way as in the model.
In SqlModelMapper, a master model cannot pass parameters to its detail models yet.
When retrieving data to a DynamicModel, if the value of a column is null in database, the value of the column in the DynamicModel is the default value of the column data type in C#.
It is unsupported to specify <table_name>.<column_name> in SqlColumn, for example, SqlColumn("Product.ProductID").
In SqlQueryBuilder, when you specify a column name, the name shall not contain dot sign (.) in it. For example, the following script uses “a.b” as the column name and will fail to create the column.
var builder = new SqlQueryBuilder(); builder.Select("id") .Select("[a.b]") .From("TestTable"); string sql = builder.ToSqlString(_context);
Database related known issues
- SQL BatchExecuting is not supported.
- The SqlModelMapper Avg method might not work well. For example, if the result has too many digits after the decimal point, the method may throw an error.
- It is unsupported to update an INTERVAL YEAR TO MONTH value.
- If a model has both [Top] and [SqlUnion] settings, the SQL generated for the model will be incorrect.
- The SqlExecutor.SelectProcedure/SelectProcedureToStore method only supports SQL stored procedures that return result-set with cursor, and the cursor parameter shall be placed at the end.
- The following data types may not work well: timetz, JSON, bit(1), varbit, array, point, line, circle, box, and polygon.
- It is unsupported to get the returned value from a store procedure.