問題タブ [linq2db]
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# - Linq to Sqlite (linq2db) でテーブルを作成する
私がやろうとしているtable
のは、空のデータベースで接続が開かれたときに、オンザフライで作成することです。私はすでに to を使用してモデルを作成し、Linq
空Sqlite
でないデータベースで正常に使用しました。
現在、「新しい」データベースを操作しようとしています。
私は次のように db.Insert を実行します:
空のデータベースが開かれました。実際には 0KB のファイルが作成されます。しかし、何かを挿入しようとすると (またはもちろん何かを読み取ろうとすると)、例外が発生します。SQL logic error or missing database
私が使用しているライブラリ:
https://github.com/linq2db/linq2db
NuGet
パッケージ:
http://nuget.org/packages/linq2db.SQLite/
空のデータベース ファイルへの書き込みを開始する前に、何かする必要がありますか?
c# - 1 つのアトミック操作で linq2db によるチェックを使用して行を更新する
MS SQL データベース テーブルには、行の更新後に値が変化するタイムスタンプフィールドがあります。更新する前に、行が別のサービスから変更されているかどうかを確認したい。
メモリ内のオブジェクトのタイムスタンプ値とデータベース テーブルの値を比較することで、これを行うことができます。
1 つのアトミック操作でlinq2dbで実行できますか?
チェックせずに動作します:
次の 3 つのクエリは機能しません。
次のようにSQLスクリプトを実行したい:
c# - SQLite を使用した LinqToDB - 参照プロパティは null
比較的単純なドメイン モデルにいくつかの POCO があります。一例は次のようになります。
FK の名前は奇妙MemberName
ですが、readme で提案されているように .tt ファイルでそれらに s を指定することでこれに対抗しました。
問題は、タグ オブジェクトの 1 つを取得すると、すべての関連付けプロパティが null になることです。関連するタグは正しいのですが、期待どおりにそれをまたはプロパティParentID
にマップしていないようです。Parent
Children
ここで何か間違ったことをしましたか?データベース自体を再確認しました。.tt は次のようになります。
c# - LINQ to DB モデル クラスのテーブル間の関係を追加する方法
私は LINQ to DB (linq2db) を使用しており、次のような Customer プロパティを持つクラス Activity.cs があります。
顧客クラス:
今、私はこのようなことができるようにしたい:
上記で説明したように、エンティティ間の関係を設定するにはどうすればよいですか?
(はい、Id フィールドを文字列として使用する意味がないことはわかっています。乱雑なレガシー Access データベースに対して作業する必要があります)
c# - データベーステーブル名が不明な場合のLINQ2B POCO
Linq2DB を使用して、さまざまなデータベースからデータを取得する必要があります。この例では、SQL2012 としましょう。
以下のようなPOCOクラスを作成します
次のように、linq2db を使用してデータベースに接続し、テーブルを取得します。
私が抱えている問題は、メンバーに関して POCO は正しいものの、ユーザーがデータベースを作成するときに別の名前 (MyPoco 以外) を指定できることです。したがって、ユーザーにテーブルの名前を尋ね、それを GetTable 呼び出しで使用し、結果を POCO にマップする必要があります。
どうすればこれを行うことができますか?
前もって感謝します、ポール
c# - LinqToDB列挙型を文字列値として保存する方法は?
LinqToDB は Enum プロパティの値を、整数値ではなく Enum の文字列値として保存できますか?
0 または 1 の代わりに「新規」または「キャンセル」をデータベースに保存するように LinqToDB を取得するにはどうすればよいですか?
更新: LinqToDB の答えは、列挙型に MapValue 属性を設定することです。私は、データ オブジェクトでそれを指定する場所を見つけようとしていました。
これにより、列挙型に指定された値がテキストとしてデータベースに保存されます。
c# - PostgreSQL への linq での NullReferenceError
私はlinqをpostgresqlに使用するプロジェクトを持っています.私はライブラリとその3つの依存関係を持っています.
しかし、DB に接続しようとすると、次のエラーが発生します。
System.NullReferenceException
でのタイプ「 」の例外の最初の可能性linq2db.dll
。追加情報:Object reference not set to an instance of an object. (Translated).
スタックトレース:
LinqToDB.Data.DataConnection..ctor(String configurationString) in i:\linq2db\Source\Data\DataConnection.cs:line 41 in LinqToDB.Data.DataConnection..ctor() in i:\linq2db\Source\Data\ DataConnection.cs:d:\Proyectos\Proyectos VisualStudio\TimeSheets\TimeSheets\modelo\BDGestion.PostgreSQL.generated.cs:línea 44 の modelo.BDGestion.bdgestionDB..ctor() の 24 行目 TimeSheets.SeleccionPersonal..ctor( ) d:\Proyectos\Proyectos VisualStudio\TimeSheets\TimeSheets\SeleccionPersonal.cs:23 行目
テンプレートを使用してクラスを生成しました。接続文字列は整形式で、接続文字列に適切に追加されています。このソリューションで私が確認し、他のコンピューターの友人が独自に確認しました。情報が必要な場合は、お尋ねください。
生成されたクラス:
App.config:
c# - linq2db が特定の式、つまり Split(char) を SQL に変換する方法がわからない場合、その方法を linq2db に伝えるにはどうすればよいですか?
私は使用linq2db
していますが、ほとんどの CRUD 操作で十分に機能しますが、SQL に変換できない多くの式に遭遇しました。
どのような種類の式が関係するかを事前に正確に知っていて、以前にそれらを正常に呼び出していない限り、そこから得linq2db
られる利益よりも、見つけて削除しようとするコスト (またはサーバー側から離れてください)問題のある表現。
linq2db
その場しのぎで必要に応じて SQLに解析する方法を知っていればExpression<Func<T,out T>>
、自信がつき、このツールを使用して多くのことができるようになります。
たとえば、 aと aを受け取り、区切り文字の間の各部分文字列のaを返すString.Split(char separator)
メソッドを考えてみましょう。string
char
string[]
私のテーブルに、コンマで区切られたさまざまな機器の使用法のリストを含むEquipment
null 許容varchar
フィールドがあるとします。Usages
IList<string> GetUsages(string tenantCode, string needle = null)
特定のテナント コードとオプションの検索文字列の使用法のリストを提供するように実装する必要があります。
私のクエリは次のようになります。
ただし、実際には、実行時にコメントで示された行で爆発します。
の作成者が、メソッドと主要なデータベース パッケージlinq2db
のすべての組み合わせを出荷することを期待できないことは完全に理解しています。string
同時に、まさにそれを行う例(カスタム式を実装する人)を見ることができれば、これを処理する方法を完全に伝えることができるように感じます。
したがって、私の質問は次のとおりです。そのままでは解析できないan を解析する方法をどのように指示すればよいですか?linq2db
Expression