問題タブ [entityobject]
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 sql アタッチされたエンティティ オブジェクトの挿入
私はLinq to sqlを学んでいて、「Inserting Attached Entity Objects」に出くわしました本から例をテストしましたが、うまく動作しますが、誰かがそれを編集して私の例で機能させる方法を説明してもらえますか
2 つのテーブルがあります (この例では userID を無視します)
トピック -> トピック ID、タイトル
投稿 -> PostID、TopicID、Content
ユーザーが新しいトピックを作成するとき、それに関する詳細を含む新しいトピックとその投稿に関する詳細を含む新しい投稿を作成する必要がありますが、問題は、トピックが必要ないため、これら2つのテーブルを一度にデータベースに挿入する必要があることですそれに割り当てられた投稿はありません。
TopicID を手動で設定して正常に動作するコードを持っていますがif
、自動的に割り当てられるように無料で使用したいと考えています
再開するには、これらの 2 行を削除して、TipicID が自動的に生成され、両方のレコードがデータベースに挿入されるか、何も挿入されないようにします。
編集:
LooL、もう一度テストしたところ、この 2 行をコメントするだけでこのコードは正常に機能するように見えwhat will happen
ますが、トピックがデータベースに挿入されたが、コンピューターが突然シャットダウンし、投稿がデータベースに保存されていない場合に備えて、誰かが説明してくれませんか。ロールバックしてトピックを削除しますか、それともデータベースに投稿のないトピックがありますか?
c# - EntityObject の代わりに POCO の使用に切り替える
私は EF を初めて使用することから始めたいと思います。次のテキストは私の仮定に基づいています。だから、私が間違っているところを自由に修正してください:
Foo と呼ばれる EF によって生成されたエンティティがあります。これはEntityObjectだと思います。したがって、Foo のインスタンスを作成すると、それは EntityObject になります。
しかし、エンティティの変更フォルダーに Foo という名前の新しい部分クラスを作成すると、その POCO バージョンが作成されます。EntityObject の代わりに POCO を使用する方法を知りたいです。
android - カスタムクラスのオブジェクトを Android から Java サーバーに送信するには?
各データベース テーブルに対応する Android クライアント アプリケーションでいくつかのクラスを作成しました (エンティティ オブジェクトの概念と同様)。
サーバーのデータベースからAndroidクライアントアプリケーションにデータを取得し、返されたデータセットを作成されたクラスのオブジェクトに割り当てて、データをさらに処理し、ロジックを適用したいと考えています。
また、オブジェクトの形式でAndroidからサーバーにデータを送信して、サーバーで処理したり、データベースに挿入/更新したりしたいと考えています。
(HttpClientとHttpPostを使用してデータをサーブレットに送信できますが、オブジェクトを送信する方法と、データベースの結果セットをオブジェクトの形式で受信する方法がわかりません)。
私はクライアント サーバー プログラミングが初めてなので、このアプローチが間違っている可能性があります。もしそうなら、私を修正してください。サンプルコードをいただければ幸いです。
entity-framework - EntityFrameworkとの条件付き関連付け
EntityFrameworkとの条件付き関連付けを作成したいと思います。私の知る限り、条件付き外部キーを作成できないため、データベースサーバーレベルでこの問題を解決することはできません。私はそのようなテーブルを持っています:
これで、プロパティテーブルのTypeIdフィールドに値のタイプが含まれます。たとえば、TypeId == 0の場合、ValueIdはValueStringテーブルを指し、TypeId == 1の場合、ValueIdはValueIntegerテーブルを指します。
私はいくつかの回避策を実行しましたが、どこかで立ち往生しました:
私はそのような列挙型を持っています:
そして私はそのような部分的なクラスを実装しました:
しかし、EntityObject内のコンテキストオブジェクトに到達する方法がわからないため、プロパティEntityObjectのValue*テーブルに到達できませんでした。
それで、このアプローチは本当ですか、それとも私は何をすべきですか?trueの場合、EntityObjectでエンティティコンテキストオブジェクトを取得するにはどうすればよいですか?
編集:このアプローチを提案しない場合、あなたは何を提案しますか?ご意見をお聞かせください。私は、このアプローチの最良の代替案は次のようなものかもしれないと思います:
ただし、このように、別の値型を追加する場合は、テーブル構造を変更する必要があり、プロジェクトのエンティティモデルとオブジェクトモデルを更新する必要があります。値でデータをフィルタリングする必要があるため、シリアル化されたオブジェクトを使用できません。 編集が終了しました
c# - 多対多データベースSql Serverの遷移テーブルにアイテムを追加して関係を更新する
-- ここでは、AB 間に manyTOmany が関連付けられていない間違ったモデルがありました。修正はEDIT2にあります--
A
データベースに存在します、データベースにB
存在します。C
Properties1 と Properties2 を使用して新しい要素を入力するだけで済みます (既存の要素と要素のコレクションを更新C
します) 。A
B
たとえば、このような多くのオプションを試しましたが、まだ何かが間違っています (ObjectOCntext と既存のキーなど)
編集
私が得る例外:"An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key."
EDIT2 更新モデル
c# - リフレクションを使用して文字列からエンティティ オブジェクトを取得する
このコードでオブジェクト セットを取得できます。
ただし、最初にEntityObject FmlaModel.State
を見つけて、変数の型を ( のObjectSet<EntityObject>
代わりにvar
) 明示的に指定できるようにし、これを使用してフォーム (TableEditor、以下を参照) に使用している EntityObject の型を伝えることができるようにします。 .
リフレクションを使用してこれを行う方法はありますか? かなり検索しましたが、まだ機能するものは見つかりませんでした...
編集:
私の目標は、編集できるエンティティ オブジェクトの名前を含む db テーブルを作成できるようにすることです。名前はコンボボックスに読み込まれ、いずれかが選択されると、次のような「テーブル エディター」フォームのインスタンスを作成します。
私の「Table Editor」クラスは次のようになります。
c# - EntityObject Generator テンプレートを使用して外部列挙型を参照する
私は次の列挙型を持っています:
VehicleType
Common.VehicleType を参照する名前で、EF デザイナーで参照列挙型を作成しました。edmx はModels
名前空間にあるため、最終的に 2 つの異なる列挙型になります。
エンティティ オブジェクト インスタンスに列挙型を設定するには、キャストする必要があります。
これにはいくつかの問題があります。
- 完全修飾名を使用する必要があります (列挙型の名前は、収集したものと同じでなければなりません)。
- どこにでもキャストする必要があります。
Models
名前空間が参照Common
しているため、循環参照を取得し、キャストするCommon
には参照する必要があります。Models
これは簡単な説明です。リファレンスやジェネレーター テンプレートを変更することはできません。これは、非常に大きなプロジェクトでコードを大幅に変更することになるためです。
生成テンプレートが問題を引き起こしていると思います。これを回避する方法はありますか?
編集
EntityObject テンプレート ジェネレーターによって生成されたタイプ VehicleType のフィールドは次のようになります。
ここで、VehicleType は Models.VehicleType です
entity-framework - 部分クラスから Context/other EntityObjects にアクセスする
特定の (計算された) プロパティが別の EntityObject で変更されたときに、新しい EntityObject を Context に追加する必要があります。EntityObject 自体から Context へのアクセスはないようです。
たとえば、私の「従業員」部分クラスにはカスタム プロパティがあります。
...そして、上記の「Age」が設定されている場合、同じコンテキストの下にある「Assumptions」EntitySetに新しいEntityObject「Assumption」を1つ作成して追加する必要がある場合があります。
そのような別の EntityObjects から EntityObjects にアクセスするのは良い設計ではないことはわかっていますが、他の方法でこのニーズをどのように解決できますか?
oracle-adf - プログラムでエンティティオブジェクトからビジネスルールを取得する方法は?
私の Fusion Web アプリケーションでは、エンティティ オブジェクトにいくつかのビジネス ルールを定義しました。すべて正常に動作します。問題は、プログラムでそれらを取得できないことです。EntityObjects Impl Java クラスを検索しましたが、検証を実行するメソッドがありません。エンティティ オブジェクトからビジネス ルールを取得する方法を知っている人はいますか? 少なくともそれらのリストを取得する必要があります。
アップデート:
しかし、この場合でも、ビジネス ルールのリストは取得されません。
java - Oracle ADF 11g 変更をコミットする前に各エンティティ impl を検証する
私が取り組んでいるコードは、エンティティ オブジェクト (EO) を直接操作して、EO のバッキング テーブルに 5 ~ 10,000 レコードを挿入します。はい、悪い習慣ですが、アプリケーションを書き直す時間がありません。
変更をコミットする直前に、主キーが既に存在するかどうかをテストする方法はありますか?
さらに良いことに、トランザクションがコミットされたときに実行されるクエリをカスタマイズする方法はありますか? INSERT WHERE NOT EXISTS のようなものを追加したいと思います。
私のずさんな代替手段は、各変更を一度に 1 つずつコミットすることです。これにより、不要なアプリから DB へのトラフィックが作成されます。
追加情報を提供できるかどうかお知らせください。
読んでくれてありがとう!