問題タブ [entity-framework-ctp5]
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.
.net - EF CTP5 テーブルを自動的に作成する SQL Server 2005
私はEF 4 CTP5を使用しており、scottguのブログ投稿をフォローしていました: http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx
基本的に、モデルが欠落している場合は、モデルにテーブルを生成してもらいたいと思います。
私の場合、無効なデータベース オブジェクトがあると不平を言っています。これは、まだテーブルを持っていないためです。私は SQL Server 2005 を使用していますが、ブログでは sql Express または ce について言及しています。
テーブルを作成するモードが欲しいのですが、その機能は sql Express と CE だけですか?
前もって感謝します
c# - EF4CTP5コードでのカスケード削除最初に子レコードの更新を実行します
ここで説明する方法を使用して、親レコードと関連するすべての子レコードを削除しようとしています。ただし、親は期待どおりに削除されますが、子レコードのキーフィールドは削除されずにNULLに更新されます。
また、子テーブルの外部キーの削除ルールをカスケードに設定し、SQL Server Managementの親テーブルから削除すると、期待どおりにカスケード削除が実行されます。
私はこのウォークスルーに従い、削除を実行するようにコードを変更することから始めました。
これはコードです:
足りないものはありますか?または、孤立した子は意図した結果を記録しますか?
sql-server - Entity Framework CTP5 - ストアド プロシージャを呼び出す方法は?
これは簡単な答えかもしれませんが、EF CTP5 でストアド プロシージャを実行する方法がわかりません。
Entity Framework 4.0 では、次のようにしました。
ExecuteFunction("ContainerName.StoredProcName", new ObjectParameter("Id", id))
.
上のメソッドObjectContext
です。
しかしDbContext
、そのような方法はありません。
ストアド プロシージャを呼び出す方法 EF CTP5 ではサポートされていませんか?
編集:
私はあなたがこれを行う必要があると述べているこのスレッドを見つけました:
これにより、いくつかの懸念が生じます。
1) contextではなくsetで保存された prodedure を呼び出すようになりました。ストアド プロシージャは、特定のエンティティ セットに関連付けられるのではなく、コンテキスト全体で使用できる必要があります。「テーブル」の下ではなく、SQL Server の「データベース」の下にあるのと同じように。
2)複合型はどうですか? 以前は、ストアド プロシージャから複雑な型が返されていました。しかし、エンティティに直接マッピングする必要があるように見えますか? それは意味がありません。ObjectSet/DBSet によって直接表されないタイプを返す多くのストアド プロシージャがありますが、これをどのように取得できるかわかりません。
これまでのところ、私が理解していることから、CTP5にアップグレードできないため、誰かがこれを解決してくれることを願っています。
c# - Entity Framework CTP5 Code First: 非プリミティブ型をキーとして使用
かなりの数のデータ構造を持つプロジェクトがあり、それにデータベースを導入したいと考えています。Entity Framework CTP5 のコード ファースト機能について調べています。
現在、タイプごとに個別の Identifier タイプを使用しています (例: TypeAIdentifier、TypeBIdentifier など)。これらの識別子を操作するときにタイプ セーフが可能になるため、これは素晴らしいことです。問題は、EF に非プリミティブ型を識別子として使用させることができないように見えることです。http://blogs.msdn.com/b/efdesign/archive/2010/03/30/data-annotations-in-the-entity-framework-and-code-first.aspxにヒントがあります。
実際、次のプログラムは例外をスローします。
奇妙なことに、このプログラムは MissingMethodException (「このオブジェクトにはパラメーターなしのコンストラクターが定義されていません」) をスローしますが、次のいずれかによってプログラムが実行されるため、これは KeyAttribute に関連していると確信しています。
- [キー] を削除します。また
- [Key] を IntValue に移動します。
EF で識別子クラスを PK としてマップするにはどうすればよいですか? 頭に浮かぶ2つのオプション:
- EF で非プリミティブ型を PK として使用する方法を見つけます。
- 「int」を PK として配置し、EF にこの「int」を MyIdentifier に変換させます (これには、「int」以外のものを使用することにした場合、MyIdentifier とマッピングの両方を更新する必要があるという欠点があります。ただし、少なくとも識別子の型の安全性を維持できます)。Function Imports でこれができると思ったのですが、ストアド プロシージャの上に構築されているようです。
これを達成する方法はありますか?
entity-framework - EF CTP5-強く型付けされた熱心な読み込み-ネストされたナビゲーションプロパティを含める方法は?
EF4ソリューションをEFCTP5にカットオーバーしようとしましたが、問題が発生しました。
モデルの関連部分は次のとおりです。
関連する関係:-単一の郡には多くの都市があります -単一の都市には単一の州があります
ここで、次のクエリを実行します。-システム内のすべての郡を取得し、すべての都市と、それらの都市のすべての州を含めます。
EF4では、これを行います。
EF CTP5には、強く型付けされたIncludeがあります。これは。を取りますExpression<Func<TModel,TProperty>>
。
郡のすべての都市を問題なく取得できます。
しかし、どうすればそれらの都市の州を取得できますか?
私は純粋なPOCOを使用しているので、そうCounty.Cities
ですICollection<City>
。したがって、これを行うことはできません。
Asには。ICollection<City>
というプロパティがありませんState
。
ネストされたIQueryableを使用する必要があるようなものです。
何か案は?このシナリオに含めるマジックストリングにフォールバックする必要がありますか?
entity-framework-4 - EF4 CTP5 - HasColumnType が機能しない
文字列列の 1 つの既定の nvarchar(4000) を SQL Express のテキスト データ型にオーバーライドしたいと考えています。私はこのコードを使用します。
しかし、列の型は nvarchar のままですか?
entity-framework - TPC CTP5コードファーストエンティティのUNIONを生成するエンティティクエリへのEF Linq
次のエンティティがあります。
User テーブルと HappyUser テーブルを生成するために、Table Per Concrete Type (TPC) を使用してエンティティを構成しています。HappyUser テーブルに User クラスのプロパティを含めたいのですが、2 つのテーブル間の関係は望んでいません。
エンティティを次のように構成します。
テーブルは正しく生成されますが、テーブルにクエリを実行すると、EF は User テーブルと HappyUser テーブルで UNION を生成します。クエリは次のとおりです。
ユーザーの SQL は UNION を生成します。これは私が期待または望んでいるものではありません。Users テーブルから単純に行を取得したいと思います。
HappyUsers の SQL は期待どおりに機能します。
私が間違っていることはありますか?それとも、これは EF の欠陥ですか?
entity-framework-4 - CTP5 POCO Code-Only、マスター/ディテール レコードを DB に追加する方法
私はEF CTP5 POCOを試しており、EF4 EntityModelからPOCOコードのみのアプローチに変換しています。
古いコードを EF4 モデルから POCO に変換すると、新しい請求書と行を追加することになっています。以前はマスター クラスを作成し、マスター クラス自体のインスタンスに詳細を追加していました。
inv.Lines <== はこの時点で null であるため、InvoiceLines のコレクションを作成して設定することになっている請求書自体のインスタンスに行を追加することはできません。または、これを行う他の方法があります。
つまり、POCO コードのみ (CTP5) を使用してデータベースにマスター/詳細行を追加する方法を簡単に説明します。
entity-framework - コードファーストEFCTP5を使用してマネータイプフィールドを生成する
このブログ投稿:EF4コードファーストコントロールUnicodeとDecimal Precision、属性付きスケール、Dane Morgridgeは、属性を使用してデータベースでのさまざまなタイプの作成を制御しました。
...そして私はこのかなりユニークなところで見つけました!!!
規則または属性を使用してモデルから実行できる場合、EF CTP5のコードファーストAPIを使用して、結果のデータベースにマネータイプフィールドを生成するにはどうすればよいですか?
申し訳ありませんが、私の英語は私の主な言語ではありません。
前もって感謝します。
c# - リポジトリ パターン (またはより適切なもの) を使用してこれを実装する方法は?
IChocolateRepository というリポジトリがあります。
これは、基本的なリポジトリ機能 (FindAll、Delete、Add など) を定義する汎用リポジトリ インターフェイス IRepository<> から派生します。
ここで、「提供された日付より前の有効期限データを持つすべてのチョコレートをデータベースから」削除するコードを記述する必要があります (ExpiryDate が Chocolate モデル クラスの null 非許容プロパティであると仮定します)。
これはリポジトリに属しますか?
また、サンプル実装はどのようになりますか? (私はEF CTP5を使用しています)