Multiple OneToOne dependencies from same class

Issue #145 closed
Jakub Pajączek created an issue

Hello

Im trying to add two variables of the same class as OneToOne dependencies.

But i have a problem, the SQLiteNetExtensions gives me a exception loop like this, but much longer:

tChildrenRecursive (SQLite.SQLiteConnection,object,bool,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0003a] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:169
07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302 07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetChildRecursive (SQLite.SQLiteConnection,object,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0000f] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:182 07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302
07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetChildrenRecursive (SQLite.SQLiteConnection,object,bool,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0003a] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:169
07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302 07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetChildRecursive (SQLite.SQLiteConnection,object,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0000f] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:182 07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetChildrenRecursive (SQLite.SQLiteConnection,object,bool,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0003a] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:169 07-07 23:15:26.002 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302
07-07 23:15:26.003 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetChildRecursive (SQLite.SQLiteConnection,object,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x0000f] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:182
07-07 23:15:26.003 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302 07-07 23:15:26.003 E/mono-rt (21742): at SQLiteNetExtensions.Extensions.ReadOperations.GetOneToOneChildren<T_REF> (SQLite.SQLiteConnection,System.Collections.Generic.IList1<T_REF>,System.Reflection.PropertyInfo,bool,System.Collections.Generic.Dictionary2<string, System.Collections.Generic.Dictionary2<object, object>>) [0x00303] in C:\projects\sqlite-net-extensions\SQLiteNetExtensions\Extensions\ReadOperations.cs:302

This is my class:

    //bi-directional many-to-one association to ItemVersion
    [ForeignKey(typeof(ItemVersion))]
    public long itemVersionId { get; set; }

    [OneToOne(CascadeOperations = CascadeOperation.CascadeInsert | CascadeOperation.CascadeRead)]
    public ItemVersion itemVersion{ get; set; }

    [ForeignKey(typeof(ItemVersion))]
    public long? connectedItemVersionId { get; set; }

    [OneToOne(foreignKey: "connectedItemVersionId", CascadeOperations = CascadeOperation.CascadeInsert | CascadeOperation.CascadeRead)]
    public ItemVersion connectedItemVersion { get; set; }

Could you please help.

Im using Xamarin with SqliteNetExtensions version 2.1.0

Comments (1)

  1. Log in to comment