2

データベースからオブジェクトを取得するためにSqlite.Net Extensionsライブラリを使用しています。

リストがId'sあり、リストにその ID が含まれているデータベースからすべてのオブジェクトを取得したいと考えています。

私は次のものを持っています:

var filteredCalls = listOfIds;            
var conn = Databsae.Connection;
var NewCalls = conn.GetAllWithChildren<Call>(x => filteredCalls.Any(y => y == x.Id));

しかし、このコードはエラーを返します:

[エラー] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.NotSupportedException: コンパイルできません: Lambda 08-30 15:46:57.210 E/mono-rt (16849): SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x007aa] in :0 08-30 15:46 :57.210 E/mono-rt (16849): SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) で [0x001a5] :0 08-30 15:46:57.210 E/mono-rt (16849): SQLite.Net.TableQuery 1[T].GenerateCommand (System.String selectionList) [0x0006d] in <filename unknown>:0 08-30 15:46:57.210 E/mono-rt (16849): at SQLite.Net.TableQuery1で[T].GetEnumerator () [0x00008] in:0 08-30 15:46:57.210 E/mono-rt (16849): System.Collections.Generic.List で1[T]..ctor (IEnumerable1 コレクション) [0x00073] in /Users/builder/data/lanes/3540/1cf254db/source/mono/external/referencesource/mscorlib/system/collections/generic/list.cs:98 08-30 15:46:57.210 E /mono-rt (16849): System.Linq.Enumerable.ToList[TSource] (IEnumerable 1 source) [0x00011] in /Users/builder/data/lanes/3540/1cf254db/source/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:835 08-30 15:46:57.210 E/mono-rt (16849): at SQLiteNetExtensions.Extensions.ReadOperations.GetAllWithChildren[T] (SQLite.Net.SQLiteConnection conn, System.Linq.Expressions.Expression1 フィルター、ブール再帰) [0x00015] で /Users/redent/Documents/workspace/sqlite-net-extensions/SQLiteNetExtensions/Extensions/ ReadOperations.cs:60

GetAllWithChildrenでは、クラッシュせずにメソッドを使用するにはどうすればよいでしょうか? ドキュメントはかなりまばらです

追加

これは、メソッドが実装されている行です

ここに記載されているように、おそらくラムダ式は Sqlite でサポートされていません。

4

1 に答える 1