2017-08-02 10 views
0

私の設定は以下の通りです。私は、IOSのAndroidとUWPのクロスプレート形式のXamarinソリューションを開発しています。さらに、SQliteをローカルデータベースとして使用したいと考えています。SQliteを使用したXamarin(IOS Android UWP)使用OneToMany

UWPなどでSQliteを使用するには、Nugetパケット(Frank A. Kruegerのsqlite-net-pcl)をインストールする必要がありました。

すべてうまくいきますが、何らかの理由で、私は属性OneToManyを使用できません。解決策は、SqlitePclパッケージhttps://forums.xamarin.com/discussion/48545/xamarin-forms-with-sqlite-one-to-many-relationshipを削除することです。

私は基本的に2つの制約(UWP + OneToMany)のためにブロックされています。

誰も同じ問題が発生しましたか?

答えて

2

すべてがうまくいきますが、何らかの理由で私は属性OneToManyを使用できません。

SQLite-net PCLフランク・A.・クルーガーによって作成されたパッケージは、Xamarin公式文書Local Databasesで推奨されます。このパッケージはデフォルトでForeignKeyOneToMany属性をサポートしていません。あなたが関係を取得したい場合には、例えば、SQLiteConnectionのQueryメソッドを使用してデータベースを照会することができます

return db.Query<Valuation> ("select * from Valuation where StockId = ?", stock.Id); 

詳細をsqlite-net wikiを参照してください。

threadのコードスニペットにはone-to-manyが含まれています。これは SQLite-Net Extensionsパッケージが必要です。このパッケージは、sqlite-netライブラリの上に1対1、1対多、多対1、多対多、逆およびテキストブロブの関係を提供します。このパッケージは、commit infoに準拠してsqlite-net-pcl to 1.2.0をサポートするナゲットパッケージ2.0.0-alpha2を公開しました。

お客様の要件を満たすには、パッケージとSQLite.Net Extensions-PCL 2.0.0-alpha2パッケージを組み合わせて使用​​する必要があります。 SQLite-netの上位バージョンを使用する必要があるが、拡張パッケージがない場合は、参照番号extension source codeで自分自身を作成することができます。

ちなみに、relationshipsも設定できるEntity Framework Coreを試してみることもできます。詳細はthis articlethisを参照してください。

関連する問題