問題タブ [entity-framework-5]
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.
entity-framework-5 - EF 5.0 ベータ 2 の遅延読み込みは重要ではない?
昨日リリースされた最新の Entity Framework 5.0 beta 2 をダウンロードしてインストールしました。さて、私の EDMX モデル ファイルでは、"Lazy loading enabled" を true または false に設定するかどうかは問題ではありません。
取得したオブジェクトに使用する関連付けプロパティを「含める」必要があります。
誰でも理由を説明できますか?
wpf - EF DataContext は EF のデータグリッド使用と互換性がありませんか? (VS11)
Entity Framework 5.0b2モデル(SQLサーバーデータベース)のテーブルに基づくMicrosoft Datagridを使用したVS11ベータWPFアプリケーションがあります。(グリッドは、エンティティ フレームワーク モデルからデータ ソースを追加し、そのモデルからデザイン サーフェイスにテーブルをドラッグ アンド ドロップすることによって自動生成されたコードを使用します)。次に、EF5.0 DBContext コード ジェネレーター アドインを使用して、アプリで使用できる DbContext 型を生成しました。
結果は良くありませんでした。修正不可能と思われるコンパイル エラーが発生しました。少なくとも私の試みは事態を悪化させました。データグリッドは DbContext を好まず、共存しません (データグリッドと DbContext の両方が同じデータベースとテーブルに基づいている場合)。おそらくコードジェネレータテンプレートを変更することによって、回避策はありますか?
エラーメッセージは最後に貼り付けます。これに関する助けや洞察をありがとう。
(次の密接に関連する投稿は答えではないことに注意してください。dbcontext を objectcontext に変換できますが、そうすると datagrid を適切に動作させることができないためです。また、objectcontext を dbcontext に変換すると、自動生成されたdbcontext 型: GridView で使用するために DBContext を ObjectContext に変換します)。私はかなり単純な回避策を探しています-すべての型と変換を手作業でコーディングし始めると回避策があると確信していますが、自動生成されたコードの使いやすさを維持したいです-私は忙しくなりたくありませんコードジェネレーターは仕事をすることができますし、そうすべきです。解決策がない場合は、コントロールを ado.net に基づいて作成し、UI 以外のコードのエンティティ フレームワークをそのままにしておくことにします。
エラー
タイプ 'System.Data.Entity.DbSet' を 'System.Data.Objects.ObjectQuery' に暗黙的に変換できません
Documents\Visual Studio 11\Projects\WpfApplication3\WpfApplication3\MainWindow.xaml.cs
エラーの原因となった行 (Microsoft が EF テーブルをソースとしてデータグリッドをドラッグ アンド ドロップして作成): System.Data.Objects.ObjectQuery myTblsQuery = myDbsEntities.MyTbls;
visual-studio - 追加移行を行う際のEF5およびVS11エラー
VS 11をインストールして、クラスライブラリプロジェクトを作成しました。次に、EntityFramework5ベータ版を追加しました。次に、単純なユーザークラスとdbcontextクラスを作成しました。次に、コンソールコマンド「Enable-Migrations-EnableAutomaticMigrations」を使用しました。これは問題なく機能し、適切な移行ディレクトリと構成ファイルを追加しました。問題は、「Add-Migrtion InitialMigration」を実行すると、次のエラーが発生することです。
System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。---> System.IO.FileNotFoundException:ファイルまたはアセンブリ'System.Data.Entity、Version = 4.2.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。---> System.IO.FileNotFoundException:ファイルまたはアセンブリ'System.Data.Entity、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
以前にEF4.2をインストールしましたが、アンインストールしました。実際、これを最初に試しても失敗した後、VS、SQL、および関連するものをアンインストールしました。次に、再起動してVisual Studio 11を簡単にインストールして再試行しましたが、それでも同じエラーが発生します。これは以前のエンティティフレームワークのインストールに関連していると思われますが、それをまっすぐにする方法がわかりません。
私はWin7で実行しています。ここで説明するようにgacutilを試しました。EF5ベータのテストでこのエラーが発生し続ける理由を誰かが見つけることができますが、削除するものが見つからなかったと思います。
entity-framework - プロパティが保護されている場合、または内部の場合、データベース移行を使用した InverseProperty は機能しません。
次のエンティティモデルがあります
これは純粋に単純な多対多の関係です ユーザーとタグ 私はデータ移行を使用しています。コマンド Add-Migration または Update-Database を実行すると、次のエラーが表示されます。関連型 'Kigg.DomainObjects.Entities.Tag' のプロパティ。プロパティが存在し、有効な参照またはコレクション ナビゲーション プロパティであることを確認してください。"
Tag の Users プロパティのアクセス修飾子を public に変更すると、正常に機能し、生成が必要なものになりました。
私の設計の観点からは、Tag.Users プロパティを非表示にし、公開 API に公開したくないため、内部使用のためにそれを保護または内部に保持したいと考えています。
注: ここでは私の設計については説明しません。Tag.Users が保護されているか内部にあるときにそれが可能かどうかを尋ねていますか?
entity-framework - Entity Framework 5.0 Beta - DbContext コード生成テンプレートは提供されますか?
私は少し先に作業を進め、EF 4.2 CTP から EF 5.0 への移行を計画していました。VS11 + .NET 4.5 で「コード生成テンプレートを追加する」と、DbContext テンプレートは使用できなくなりました。利用できるかどうか、また利用できない場合はその理由を教えてください (ちょっと興味があります)。
アップデート:
Enum チュートリアルで DbContext テンプレートへの参照が表示されますが、EF5.0 が事前にインストールされた .NET 4.5 を対象とする VS11 プロジェクトにはテンプレートが表示されません。他の 2 つの V5.0 テンプレート (EntityObject と Self-Tracking) が表示されます。私の場合、Entity-Framework 4.2 CTP のように、他のインストールと競合する可能性はありますか? VS がどの System.Data.Entity を使用するかを決定できず、EF 5.0 を試したときにデフォルトで 4.2 になるというテンプレートの問題に遭遇しました。
更新 2:
Windows Server 8 Beta の新規インストール、Visual Studio 11 Beta の新規インストール、まだ EF5 DbContext コード生成テンプレートはありません。VS 2010 の EF 4.2 とテンプレート拡張機能はインストールされていません。実際、VS 2010 もインストールされていません。
asp.net-mvc-4 - Entity Framework 5 Beta 2を使用してmvc4で列挙型を機能させる方法は?
Nugetを使用して、MVC3->MVC4プロジェクトでEntityFramework5.0.0-beta2に更新しました。
列挙型を機能させようとしていますが、追加する移行ごとに列挙型フィールドが無視されます。
私はこれをweb.configで見つけました:
この参照をEF5に更新するにはどうすればよいですか?
それは私が列挙型を機能させるために必要なものですか?
ef-code-first - WebAPI コントローラーで EF Code First 5.0 データをシリアル化する際のエラー
私は最初にこの質問をしました: 「指定されたインクルードパスが無効です」を解決するにはどうすればよいですか? これは答えられ、私の .Include() は現在機能していますが、シリアライザーが魔法のように機能しようとすると、次のエラーが発生します。
データを返すために私がやっていることは次のとおりです。
私のクラス定義はかなり単純です。
「仮想」も削除しようとしましたが、循環参照が発生します。ICollection Products のセッターをプライベートにしてみました (ここで提案されているように: http://forums.asp.net/t/1773164.aspx/1 )。これにより、エラーがクリアされますが、私の製品はJSON を返しました。
カテゴリとその製品をシリアル化するためのデータを取得するには、どうすればよいですか?
編集 ここに私が得ていたスタックトレースがあります:
c# - Entity Framework 5 列挙型の命名
最初に移行とコードで EF 5 を使用しています。それはすべてかなりうまく機能しますが、解決したい問題や質問がいくつかあります。
簡単な例から始めましょう。ユーザー テーブルとユーザー タイプ テーブルがあるとします。ユーザー タイプ テーブルは、アプリの列挙型/ルックアップ テーブルです。したがって、ユーザーテーブルには UserTypeId 列と、UserType への外部キー ref などがあります。私の poco には、列挙型を持つ UserType というプロパティがあります。
UserType テーブルに初期値を追加 (または後で値を追加/変更) し、初期マイグレーターなどでテーブルを作成するには、データベース内の実際のテーブルを表し、マップ ファイルで使用するために、UserType テーブル poco が必要です。ユーザー poco の UserType プロパティを、UserType poco の UserTypeId にマッピングしました。だから今、私はコードファースト/マイグレーション/コンテキストマッピングなどのためのポコを持っていて、私は列挙型を持っています. 両方に同じ名前を付けることはできないので、UserType という名前の poco と enum 用の何かを持っているのでしょうか、それとも UserType の poco を UserTypeTable などにするのでしょうか?
しかし、もっと重要なのは、コードが最初にどのように機能するかという重要な要素が欠けているのでしょうか? 上記の例を試し、Add-Migration を実行しましたが、列挙型のルックアップ テーブルが追加されません。
c# - データベースでマッピングが作成されていないテーブル
EntityFramework5 を使用してリポジトリ パターンを実装しようとしています。私はすでに仕事の基本を手に入れました。私のリポジトリは必要な場合にのみロードされ、データは必要に応じてデータベースに挿入/更新/取得されています。問題は、マッピングを含むテーブルを正しく作成できないか、まったく作成できないことです。ここでも、マップされたテーブルを操作してデータベースに作成する方法について話している記事をいくつかオンラインで読んでいますが、成功していません。私の質問をここに渡します。
私のシナリオでそれを機能させるにはどうすればよいですか?
これまでに行ったことを説明します。
以下のこのメソッドは、おそらくマッピングとテーブルを作成するためにオーバーライドされます。
PS:Generics.InvokeGenericMethod
私が作成した方法であり、機能しています。それはそれが言うことをします:)
機能していない部分は、SetConfiguration を使用する場所です。SetConfiguration は、マッピングを持つコンテキストに追加されたクラスごとに作成したメソッドであり、そのマッピングをデータベースにミラーリングします。
以下に一例を示します (この場合、受信者には多くのメッセージがあり、メッセージには多くの受信者/多対多の関連付けがあります):
PS: 私が試した別のアプローチを確認できるように、コメント付きのコードを残しました。
がthis.Database.Initialize(false);
呼び出されると、次のエラーが発生します。
スタックトレース:
何か案は?
ありがとう。
entity-framework - 列挙型を文字列としてEF5に保存できますか?
私たちのソリューションでは、しばらくの間EFCFを使用しています。大ファン!これまで、列挙型をサポートするためにハックを使用してきました(モデルに追加のフィールドを作成し、列挙型のマッピングを無視し、追加のフィールドを使用したはずのデータベースの列にマップします)。従来、列挙型は文字列(varchars)としてDBに格納されていました(読みやすくなります)。現在、EF 5(ベータ2)で列挙型がサポートされているため、DB内のint列への列挙型のマッピングのみがサポートされているようです。EF5に列挙型を文字列表現として格納させることはできますか。
ここで、「Type」はタイプDocumentTypeの列挙型です。
私はそれを使用してマッピングしようとしました:
魔法の弾丸になると思っていましたが..
それはただ投げます:
指定されたスキーマが無効です。エラー:(571,12):エラー2019:指定されたメンバーマッピングが無効です。タイプ'Dodson.Data.DataAccess.EFRepositories.Workflow'のメンバー'Type'のタイプ'Dodson.Data.DataAccess.EFRepositories.DocumentType[Nullable = False、DefaultValue =]'は、'SqlServer.varchar [Nullable = False、DefaultValue =、MaxLength = 8000、Unicode = False、FixedLength =False]'タイプ'CodeFirstDatabaseSchema.Workflow'のメンバー'Type'。
あなたの考え?