問題タブ [dbmetal]

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.

0 投票する
1 に答える
1805 参照

c# - sqlite_sequence に対して無効なクラスを生成する DBMetal

DBLinq と DBMetal.exe を使用して、Linq-to-SQL のようなクラスを SQLite データベースから生成しています。DBMetal を使用して DataContext を再生成するたびに、sqlite_sequence のクラスが生成されます。問題は、sqlite_sequence が適切なテーブルではないため、クラスが完成していないことです。

問題は、DBMetal.exe がこのクラスをより適切に生成できるか、またはそのクラスを無視するように DBMetal に指示できるかということです。

ありがとう!

これが私のDBMetal.exe呼び出しです

sqlite_sequence (システム テーブル) に対して実際に生成された SQL は次のとおりです。

生成される壊れたクラスは次のとおりです (データ型を持たないプロパティ、name、seq に注意してください。これが問題です)。

0 投票する
1 に答える
4375 参照

sqlite - DBLinq >> DBMetal ツールを sqlite で使用するにはどうすればよいですか?

sqlite データベースからコード ファイルを生成するコマンド ライン ツール dbmetal のサンプルを提供してください。

0 投票する
1 に答える
902 参照

database - DbMetal は、SQLite で繰り返される外部キー参照でチョークします - アイデアはありますか?

DbMetal で SQLite データベースを処理するのに苦労しています。私はついに問題を切り分けました。テーブルが同じ列への 2 つの外部キー参照を持つことは許可されません。

たとえば、次の 2 つのテーブルを含む SQLite データベースは失敗します。

次のエラーが表示されます。

DbMetal: シーケンスに一致する要素が複数含まれています

2 番目の外部キー参照を取り除けば、エラーは発生しません。

したがって、これは機能します:

しかし、Person テーブルを参照するには、両方の "person" 列が本当に必要です。

これについてバグレポートを提出しましたが、当面は回避策を使用できます。何か案は?

0 投票する
1 に答える
902 参照

c# - DBMetal (SQLite): 複数の外部キーを持つ「シーケンスに複数の要素が含まれています」

(DbLinq の一部として) DbMetal を使用して C# ファイルを作成しようとすると、次のエラーが発生します。

DbMetal: シーケンスに複数の要素が含まれています

主キーの一部として複数の外部キーを参照する場合にのみ表示されます。以下は、問題を引き起こしているテーブルの DDL です。

SQLite データベースのセットアップに使用しているツールは SQLite Studio です。外部キーを設定するためにテーブル制約を設定しました。

外部キーをテーブル制約としてではなく (項目ごとに) 個別に設定すると、生成されたクラスは Question テーブルへの複数の参照を持ち、テーブルに挿入しようとすると複数の参照とエラーが発生します。

0 投票する
1 に答える
567 参照

sqlite - DbMetalが「main」でテーブル属性を生成するのはなぜですか?

私はDBLinkとSqliteの初心者です。DbMetalがNortwind.cs(C#)を生成すると、いくつかのメソッドにTable属性のマークが付けられます。

DbMetalを使用してNortwind.vb(VB.Net)ファイルを作成した後、「main.Categories」という名前のテーブルがなかったため、テストプログラムが中止されました。ただし、「main。」を削除すると、次のように機能します。

なぜ「メイン」が生成されるのか、まったくわかりません。なぜC#では機能するのにVB.Netでは機能しないのですか?

0 投票する
1 に答える
667 参照

.net - DbMetal で DataContext クラス名を設定するには?

DbLinq の DbMetal は、Mainを継承するクラスを生成しDataContextます。なりたくないMain。それを変更する方法は?

0 投票する
1 に答える
385 参照

vb.net - CodeConditionStatementおよびNullable.Equals

C#CodeConditionStatementを使用して次のVB.Netコードを作成する必要があります

私がすでに試したのは

ただし、System.NullableCodeExpressionで変換することはできません。

0 投票する
1 に答える
95 参照

datacontractserializer - DbMetalによって生成されたクラスのインスタンスをシリアル化する方法は?

DbMetalは、ISerializableインターフェースを実装せず、。でマークされていないクラスを生成することに気づきましたDataContractAttribute。そのようなクラスをシリアル化する最も簡単な方法は何ですか?私を助けることができるDbMetalパラメータはありますか?

0 投票する
0 に答える
62 参照

c# - ビルド前のイベントでクラス名を変更する

重複の可能性:
DbMetalを使用してDataContextクラス名を設定するにはどうすればよいですか?

ビルド前のイベントでDbMetalを使用して、目的のコードファイルを生成します。DbMetalは、と呼ばれるクラスを生成しMainます。そのwikiで、そのデフォルト値を変更するためのパラメーターを見つけることができます。

ビルド前のイベント(上記のコードファイルを生成した後)で、クラス名を自動的にリファクタリングして変更したいと思います。

ビルド前のイベント内でこれを行うためのネイティブな方法はありますか?

そうでなければ、私はその仕事をする自分の小さなパーサーを書いて、そこでそれを呼び出すことを余儀なくされるでしょう。


(実際には、ビルド前/ビルド後のイベントがVS2005 / 2008でサポートされているかどうかはわかりません。この質問のタグを自由に追加してください。)

0 投票する
2 に答える
1265 参照

c# - Nullable 型間で Equal が定義されていないおよび Int32

患者とその診療歴を管理するための退屈なアプリケーションを作成しています。DbLinq ライブラリと DbMetal コード生成ユーティリティを組み合わせた SQLite を使用しました。以下は、基礎となるデータベースから抽出された、生成されたコードからの 2 つのクラスです。

次のコードを使用して、患者に住所を追加します。

Database.Source は、生成されたコードで DataContext を拡張するクラスのインスタンスです。SubmitChanges で、次の例外を受け取ります。

「Nullable(Of Int32) と Int32 の間に等号演算子が定義されていません。」

メッセージは一字一句報告されませんが、意味は同じです。スタック トレースは、DbLinq コード、より正確にはソース ファイル DbLinq.Data.Linq.DataContext.cs の 709 行を指しています。ソース ファイルはhttp://dblinq.codeplex.com/SourceControl/changeset/view/16800#314775 (メソッド SetEntityRefQueries(object entity) の本体の下) にあります。外部キーの値を式ツリーの定数と比較するときに問題が発生することがわかりましたが、それに関する他の情報を取得できませんでした。問題を見つけるのを手伝ってもらえますか?

注: フィールド address.PatientID (外部キー) は、SubmitChanges の呼び出し前に実際には正しい値に設定されます。