私はXamarinプロジェクトでコンポーネント "SQLite.NET"を使用します。 私は "Document"、 "Project"のようないくつかの "モデル/クラス"を持っています。 各モデルはSQLiteに独自のテーブルを持っています。テーブルからデータを取得するためにXamarin SQLite.NETジェネリックTableQuery
は、私は以下の技術を使用しています:
List<Document> documents = new SQLiteConnection("..DB-path..").Table<Document>.ToList();
それが正常に動作しますが、各テーブルに対して、私は同じコードをしなければならないだけでモデル・タイプを変更します上記のコード。
今、私は私が行うことができ、一般的な方法で書きたいと思います:
List<T> data = new SQLiteConnection("..DB-path..").Table<T>.ToList();
をしかし残念ながら、私は次のエラーを取得する:
'T' must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'T' in the generic type or method 'SQLiteConnection.Table()'
誰もがジェネリックを作成する方法を知っています上記の問題の方法?
ありがとうございます!
ジェネリック型を使用してコード行を含むメソッド全体を含めることはできますか?どのように 'T 'を宣言していますか?副作用として、データベースにアクセスするたびに新しい 'SQLiteConnection'を作成する必要はありません。実際、シングルトン接続を使用する方が良い方法と考えられます。 – dylansturg
ジェネリッククエリもご希望の場合は、次のURLをご覧ください:http://stackoverflow.com/questions/29050400/generic-repository-for-sqlite-net-in-xamarin-project/29856945#29856945 – xleon