simple code:
var item = Query.Single(key);
causes:
[InvalidCastException: Specified cast is not valid.]
Xtensive.Tuples.Tuple.GetValueOrDefaultInternal(Boolean isNullable, Int32 fieldIndex) in c:\Temp\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\Tuple.cs:276
Xtensive.Tuples.Tuple.GetValueOrDefault(Int32 fieldIndex) in c:\Temp\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\Tuple.cs:190
Xtensive.Orm.Internals.Key`1.Create(TypeInfo type, Tuple tuple, TypeReferenceAccuracy accuracy) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Key{T}.cs:50
Xtensive.Orm.Internals.KeyFactory.CreateGenericKey(Domain domain, TypeInfo type, TypeReferenceAccuracy accuracy, Tuple tuple, Int32[] keyIndexes) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\KeyFactory.cs:127
Xtensive.Orm.Internals.KeyFactory.Materialize(Domain domain, TypeInfo type, Tuple value, TypeReferenceAccuracy accuracy, Boolean canCache, Int32[] keyIndexes) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\KeyFactory.cs:58
Xtensive.Orm.Disconnected.AssociationCache.GetKeyFieldValue(FieldInfo field, Tuple tuple) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\AssociationCache.cs:167
Xtensive.Orm.Disconnected.<GetReferencesFrom>d__0.MoveNext() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\AssociationCache.cs:54
Xtensive.Orm.Disconnected.StateRegistry.OnStateChanged(Key key, Tuple oldTuple, Tuple newTuple) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\StateRegistry.cs:173
Xtensive.Orm.Disconnected.StateRegistry.Create(Key key, Tuple tuple, Boolean isLoaded) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\StateRegistry.cs:71
Xtensive.Orm.DisconnectedState.RegisterEntityState(Key key, Tuple tuple, VersionInfo version, MergeMode mergeMode) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\DisconnectedState.cs:609
Xtensive.Orm.DisconnectedState.RegisterEntityState(Key key, Tuple tuple) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\DisconnectedState.cs:582
Xtensive.Orm.Disconnected.DisconnectedSessionHandler.RegisterEntityState(Key key, Tuple tuple) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\DisconnectedSessionHandler.cs:187
Xtensive.Orm.Internals.Prefetch.EntityGroupTask.PutLoadedStatesInCache(IEnumerable`1 queryResult, RecordSetReader reader, HashSet`1 foundedKeys) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Prefetch\EntityGroupTask.cs:147
Xtensive.Orm.Internals.Prefetch.EntityGroupTask.UpdateCache(HashSet`1 foundKeys) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Prefetch\EntityGroupTask.cs:76
Xtensive.Orm.Internals.Prefetch.Fetcher.UpdateCacheFromAllEntityGroupTasks() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Prefetch\Fetcher.cs:101
Xtensive.Orm.Internals.Prefetch.Fetcher.ExecuteTasks(IEnumerable`1 containers, Boolean skipPersist) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Prefetch\Fetcher.cs:36
Xtensive.Orm.Internals.Prefetch.PrefetchManager.ExecuteTasks(Boolean skipPersist) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Internals\Prefetch\PrefetchManager.cs:159
Xtensive.Storage.Providers.SessionHandler.ExecutePrefetchTasks(Boolean skipPersist) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Storage\Providers\SessionHandler.Fetching.cs:48
Xtensive.Orm.Disconnected.DisconnectedSessionHandler.ExecutePrefetchTasks(Boolean skipPersist) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\DisconnectedSessionHandler.cs:272
Xtensive.Orm.Disconnected.DisconnectedSessionHandler.FetchEntityState(Key key) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Disconnected\Internals\DisconnectedSessionHandler.cs:249
Xtensive.Orm.QueryEndpoint.SingleOrDefault(Key key) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Session.Query.cs:161
Xtensive.Orm.QueryEndpoint.Single(Key key) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Session.Query.cs:132
Xtensive.Orm.Query.Single(Key key) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Query.cs:100
Werp.View.Ext.DisplayTypes.DataObjectLinkJsonConverter2.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) in D:\platform\Werp.View.Ext\DisplayTypes\DataObjectLinkJsonConverter2.cs:48
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueProperty(JsonReader reader, JsonProperty property, Object target, Boolean gottenCurrentValue, Object currentValue) +165
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonReader reader, Object target) +481
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, String id) +703
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateAndPopulateObject(JsonReader reader, JsonObjectContract contract, String id) +110
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +869
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue) +92
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueNonProperty(JsonReader reader, Type objectType, JsonContract contract) +130
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) +94
Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) +47
Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) +105
Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonConverter[] converters) +72
Werp.Controller.Services.DataExtractor.GetUpdate(String data, Node info) in D:\platform\Werp.Controller.Services\DataExtractor.cs:42
Werp.Controller.Services.ItemUtil.Create(String entityName, String data) in D:\platform\Werp.Controller.Services\ItemUtil.cs:242
Werp.Controller.Services.DynamicForm.GetParams(String entityName, EntityBase item, String data) in D:\platform\Werp.Controller.Services\DynamicForm.cs:91
Werp.View.Ext.FormService.FieldChange(String formId, Guid itemId, String type, String field, String data) in D:\platform\Werp.View.Ext\FormService.cs:144
Werp.View.Ext.FormService.FieldChangeEvent(String formId, Guid itemId, String type, String field, Js`1 data, Int32 flag) in D:\platform\Werp.View.Ext\FormService.cs:129
lambda_method(Closure , Object , Object[] ) +361
FastReflectionLib.MethodInvoker.Invoke(Object instance, Object[] parameters) +57
FastReflectionLib.MethodInvoker.FastReflectionLib.IMethodInvoker.Invoke(Object instance, Object[] parameters) +46
Werp.Utils.Helpers.ReflectionHelper.StaticCallMethod(Type type, MethodInfo mi, Object[] args) in D:\platform\Werp.Utils\Helpers\ReflectionHelper.cs:887
Werp.View.Ext.ButtonHandler.ExecuteMethod(MethodCallInfo callInfo) in D:\platform\Werp.View.Ext\Handlers\ButtonHandler.ashx.cs:72
Werp.View.Ext.ButtonHandler.ProcessRequest(HttpContext context) in D:\platform\Werp.View.Ext\Handlers\ButtonHandler.ashx.cs:166
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
now I am working for isolated example, if stacktrace don't help to find bug
DO 4.4.0.7229
To be investigated - we've got the test.
The work on the issue has been started. Sorry for the delay.