問題タブ [sqlite-net-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - sqlite-net拡張で多対多のテーブルから関係を削除するには?
を使用して、学生とクラスの間に多対多の関係がありますSQLite-net Extensions
。
この方法で関係を追加します。
しかし、関係を削除したい場合:
というエラーが表示されますcannot delete because it has no PK
。すべてのクラスを含む Student を取得し、1 つのクラスを削除して、そのクラスで再度保存できますが、パフォーマンスの問題が発生する可能性があります。
多対多の関係で関係を削除するには? ありがとう。
c# - 複合キーで SQLite-Net 拡張機能を使用する方法
私は次のクラスを持っています:
Class1.cs:
そして、私の CustomObject クラス:
基本的に私が達成しようとしているのは、これらのカスタム オブジェクトへのマッピングを含むテーブルを用意することです。これは SQLite-Net 拡張機能でもサポートされていますか? 複合キーの側面は、MVVMCross SQLite コミュニティ パッケージの最新バージョンでサポートされています。上記のデータ構造を自分の DB に保存しようとすると、CustomObjects を除くすべてが保存されます...それらは null になります。私が達成しようとしていることを理解するためにさらに情報が必要な場合はお知らせください。
sqlite - Sqlite 拡張機能を使用して OneToOne 関係を作成するにはどうすればよいですか
基本的に、次のようなClient
クラスとクラスがありますAddress
私はnugetパッケージSQLite.Net-PCLをSQLite.Net-PCL Extensionsと組み合わせて使用しているため、基本的にInsertを呼び出してClient
オブジェクトを渡し、クライアントをアドレスとともにデータベースに保存できます。このような:
私のアプリケーション (MvvmCross を使用した Xamarin.iOS) では、既存のデータベースをアプリケーションにバンドルしているため、コードでテーブルを作成しないので、私の障害点はInsertWithChildren(clientObject)
呼び出しにあります。
既存のテーブルを削除してから、コードでテーブルを作成しようとしましたが、Address
最初にテーブルを作成してからクライアントテーブルを作成すると、タイプ/プロパティClient
について「知らない」と表示されます。最初にテーブルAddress
を試すと、同じエラーが発生します。Client
クライアントとアドレスを1回の呼び出しで保存するために、できるだけ多くのバリエーションを試しましたが、役に立ちませんでした。
誰でもこれに光を当てることができますか?
c# - IList で ObservableCollection クラスを模倣する
aとof の間の関係を実装するためにSQLiteNet-Extensionsを使用しています。OneToMany
Playlist
IList
Track
現時点では、ライブラリでサポートされているコレクション タイプはList
と 配列のみです (ライブラリをIList
as として許可するように変更しましたList
)。
現在、トラックのコレクションが変更 (追加、削除、クリア)されたが、ライブラリによって許可されていないときに通知を受け取れるようにしたいと考えてObservableCollection
います (ライブラリもあまり変更したくありません)。これは、次のように再作成しようとしていることを意味ObservableCollection
します。
したがって、Playlist
次のようになります。
?に新しいものをpropertyName
追加するときに何を使用すればよいかわからないことを除いて、これは機能するはずです。Track
ObservableList
それとも、これで完全に間違った方向に進んでいますか?
c# - SQLite-Net 拡張機能と OneToMany リレーションの使用
OneToMany 関係を特徴とする Windows Phone 8.1 用の SQLite-Extensions の例を実装しようとすると、うまくいきません。この機能を本当に使いたいのですが、機能させようとして髪を引っ張っています。この質問のように、評価のリストを持つ Stocks テーブルに提供された例を使用しようとすると:
テーブルを作成しようとすると、エラーが発生します。
タイプ 'System.NotSupportedException' の例外が app_name.exe で発生しましたが、ユーザー コードで処理されませんでした追加情報: >System.Collections.Generic.List`1 [app_name.Model.modelName] については不明です
最初に sqlite-net と SQLiteNetExtensions-PCL への NuGet パッケージ リファレンスを含めましたが、これは間違ったバージョンの sqlite-net が参照されているためであると以前に述べられました。
ただし、sqlite-net のソースをダウンロードしてローカルでビルドしようとしましたが、SQLiteNetExtensions から直接参照されません。
ソースをローカルにソリューションに含めましたが、違いはないようです。他に何か提案はありますか?このためのダウンロード可能な例に出くわしたことはありません。
sqlite-net-extensions - UpdateWithChildren がリスト (OneToMany) 関係を更新しない
問題を再現するためのサンプル コードを次に示します。
顧客クラス
注文クラス
DB操作
ここで何か間違ったことをしていますかUpdateWithChildren
、それともこのように動作するはずですか?
編集
DBに存在しない場合UpdateWithChildren
、新しいものを挿入しないように見えます。Order
最初に注文を挿入し、それを顧客に割り当ててから、電話をかけることUpdateWithChildren
で関係が確立されます。
私はこれが私がそれを行うことになっている方法だと思いますか?
c# - ManyToOne 制約が機能しない
私は非常に単純な関係を持っています。私のモデルは次のようになります。
問題は、ユーザーを保存せずにユーザーへの参照を使用してプロジェクトを簡単に保存でき、制約違反の例外が発生しないことです。
無効なユーザー ID を使用してプロジェクトをクエリすることもできますが、User テーブルにレコードが保存されていません。もう 1 つの興味深い点は、このデータベースを開くと、上記のような行を SQLite 管理ツールに保存できないことです。そのため、データベース スキーマは問題ないと確信しています。
これは、sqlite-net-extensions を使用した sqlite-net PCL ライブラリでは正常ですか?
更新: 私の sqlite バージョンは 3.8.7.4 です
sqlite - SQLite-net-extensions で NULL 外部キーを許可する
SQLite データベースと SQLite-Net Exensions を使用して、同じテーブルに 2 つの外部キーを追加し、毎回外部キーの 1 つを空にすることができるかどうかを知りたいです。
私の構造は次のとおりです。
アドバイスありがとうございます!