問題タブ [ef4-code-only]

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 投票する
2 に答える
2538 参照

c# - EFを使用して配列プロパティを区切り文字列のdbフィールドにマップするにはどうすればよいですか?

区切り文字列としてデータベースに保持したい配列プロパティを持つオブジェクトがあります。そのプロパティをデータベースのフィールドにマップする方法と、その逆を行うにはどうすればよいですか?

不完全な構成クラス:

この例では、「Roles」プロパティはデータベースに移動するときに「roleA、roleB、roleC」に変換され、データベースから読み取られるときに配列に変換されます。どこかにデータマッピングイベントがありますか?

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

ado.net - この ASP.net MVC システム設計の何が問題になっていますか?

次のように設計された ASP.Net MVC 3 フォト ギャラリーがあります。

Ninject を使用して、必要なサービスとリポジトリを Web アプリケーションに挿入します。

実際のデータベースを使用する前に、単純な ArrayList (および JSON シリアル化) を既存のロジック (JsonImageRepository/JsonTagRepository になります) として使用しましたが、これは完全に正常に機能します。しかしその後、EF4 CTP5 (Code First) に移行したところ、多くの問題が発生しました。基本的に、これらのリポジトリとサービスを Singleton (Global.asax.cs で宣言) として挿入しましたが、リポジトリにアクセスするスレッドが複数ある場合は、次のように表示されます。

データ接続が閉じられています。

Ninjectのスレッドモードやリクエストモードなどに変更しましたが、さまざまな例外が発生しました(コンテキストの複数のインスタンスに関しては、シングルトンが唯一のオプションであるべきだと思います)。

設計に問題はありませんか?または、これらのコンポーネントをどのように構成すればよいですか?

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

entity-framework-4 - コードで動的に EF4 コンテキストにテーブルを追加する方法 - No Code First

一連のレポートを 6 か月ごとに実行し、結果をテーブルに保存して、将来いつでも照会/表示できるようにします。サイクルに応じて、2 つまたは 4 つのテーブルが追加されます。これらには、yyyy_mmm_Table_x という標準の命名規則があります。

私たちの Web サイトは ASP.Net MVC2 を使用して構築されており、データベースは Code First ではなく標準モデル デザイナーを使用して EF4 を使用してモデル化されています。

実行時にレポート テーブルを EF4 コンテキストに動的に追加できるようにしたいと考えています。デザイナーを使用してそれらをモデルに手動で追加する必要はありません。それ以外の場合は、余分なレポートを追加したという理由だけで、レポート サイクルごとにモデルを更新して再コンパイルする必要があります。他に何も変更されていない場合、これはメンテナンスの頭痛の種になります。

sysobjects にクエリを実行するだけで、使用可能なテーブルのリストを取得できます。このリストを取得して、サイトの起動時にテーブルをコンテキストに追加できれば、ダイナミック LINQ ライブラリのようなものを使用して、ユーザーがドロップダウンから選択したテーブルに応じてクエリを実行できます。

EF4 の Code First をすぐに使用することはできません。これは、テーブルの具体的なクラスを作成する必要があり、同じメンテナンスの頭痛の種になるためです。Code First フレームワークがコンテキストを動的に更新するために使用するのと同じ戦略を使用できると思いますが、このライブラリをまったく見ていないので、詳しい人が正しい方向に向けてくれることを願っています.

そうでなければ、この領域を処理するために ADO.Net に戻る必要があると思います。それが最も簡単な方法かもしれないので、コメントを探していると思います。私は熱心ではないので、すべてを LINQ と EF4 にする必要はありません。:)しかし、特にDynamic LINQを利用できる場合は、少しきれいで一貫しているように見えます。しかし、古い方法の方が簡単な場合もあります。

ですから、何か提案やコメントがあれば、ぜひ聞いてみたいと思います。

ありがとう!

0 投票する
3 に答える
676 参照

linq - 名前によるエンティティ オブジェクトの取得 - LINQ to Entities、EF 4.0

Products1、Products2、Products3 など、構造的には同じであるが命名規則が異なる多数のエンティティ オブジェクトがあります (これは従来のデータベース スキーマの一部であり、これについてはあまりできません)。

これらのクラスは、CLR に関する限りさまざまなタイプであり、残念ながら設計コードが自動生成されるため、共通性を示すためにこれらのクラスにインターフェイスを平手打ちすることはできません。だから、私の質問は: エンティティ オブジェクトを名前で取得する方法はありますか?

これらのオブジェクトに本質的に同じロジックを適用するときは、基本的にスイッチ/ケース ビジネスを避けたいと思います。

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

ef-code-first - コード ファースト CTP5 エラー メッセージ

コード ファースト CTP5 を使用して設定した新しいプロジェクトで、次のエラー メッセージが表示されます。それについてウェブ上で何も見つけることができません。このエラー メッセージに遭遇した人はいますか?

モデルの作成中はコンテキストを使用できません。

これは、データベース コンテキストが初めて呼び出されたときに発生します (以下のコード)。

この時点では、データベースは作成されていません。DropCreateDatabaseIfModelChangesapp_start で設定したデータベース初期化子があります。

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

entity-framework-4 - 属性を介したEF4CodeFirstCTP5 nvarchar(max)

EF CodeFirstがpocoクラスのプロパティに割り当てられたときにデータ型としてnvarchar(max)を使用するようにするカスタム属性を作成する方法はありますか?これは流暢なAPIを介して可能であることを私は知っていますが、すべての定義を1つの場所に入れたいので、それがメタデータクラスです。

流暢なAPI:

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

c# - Entity Framework Code First の基本クラスと親子関係

こんにちは、抽象基底クラスとその実装の間の親子関係で問題が発生しました

DBContext は次のようになります。

サンプルコード

列を持つデータベース テーブル ChildClass の結果

  • ID
  • 親 ID (FK)
  • ParentExtendedId(FK)

ここで、ParentId は常に null であり、parentExtendedId には正しい ID が入力されていますが、不要です。

私の質問はこれが進むべき道であり、どうすればchildclass ParentをParentExtendedではなく親として与えることができますか

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

entity-framework-4 - EF4 コードはどのような情報から最初に概念モデルを構築するか

私が理解しているように、Code First はメモリ内で EF4 と連携するモデルを構築しており、マッピングなどを微調整できます。

このモデルはどのような情報に基づいて構築されていますか?

既存のアプリケーションがあり、最初に DAL をコードに変更しようとしていますが、少しずつ行いたいと考えています。したがって、次のような Context クラスがあります。

キーが定義されていない他のエンティティ型についてこのクラスを使用すると、EF が文句を言います。しかし、それらを EF のモデルに含めたくありません。

0 投票する
5 に答える
14319 参照

sql - Entity Framework CTP 5の「コードのみ」を使用している場合、LINQクエリの基礎となる生のSQLを取得するにはどうすればよいですか?

「コードのみ」モードでEntityFrameworkCTP5を使用しています。クエリの実行速度が非常に遅いため、データベースから返されたオブジェクトに対してLINQクエリを実行しています。クエリから生成されているSQLステートメントを取得する方法はありますか?

「リポジトリ」プロパティは、DbContextの子孫です。

EFはオブジェクトに対してヘルパーメソッドを使用できないため、少し複雑です。そのため、クエリでロジックを直接指定しています。

それで、そのLINQクエリによって生成されるSQLを(たとえば、log4netリポジトリに)ダンプする方法はありますか?

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

sql - SingleOrDefault の使用時に生成される SQL に Entity Framework が「where」を追加しないのはなぜですか?

「コードのみ」(SQL Server 2008) で Entity Framework CTP 5 を使用しています。DbContext から返されたエンティティがあり、それから子コレクションにアクセスし、そこから 1 つの項目を選択します。これが私のLINQステートメントです:

これにより、次の SQL が生成されます。

私の「IsCurrent」制限はまったく参照されていません。IsCurrent は私のデータベースのビット フィールドです。

これがなぜなのか説明できる人はいますか?パフォーマンスに大きな影響を与えています。