問題タブ [entity-framework-6.4]
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.
vb.net - MSL がリソース内にある場合でも、EF モデルの概念情報とそのストア情報を実行時に変換するにはどうすればよいでしょうか?
別の投稿 ( How can I extract the database table and column name for a property on an EF4 entity? ) で、エンティティ フレームワーク モデルのストア情報 (テーブル/列) を実行時に抽出するための回答 (ページの上部) を提供しました) 概念情報 ( entity/property-expression ) から。通常、そのような機能は必要ありませんが、実行時に作成されるデータベースのエンティティ テーブルに追加のインデックスを追加する場合など、便利な場合があります。
私のソリューション (以下を参照)の欠点は、MSL マッピング情報が別のファイルにある (つまり、ホスト プロジェクトがメタデータを出力パスにコピーする) か、その XML が既に利用可能である必要があることです。MSL メタデータがアセンブリ リソースとして埋め込まれている場合はどうなりますか? (XElement メソッドは "res://" パス名を解決できません!) それでは、マッピング (またはマッピングの XML) を取得するにはどうすればよいでしょうか?
XML、メタデータワークスペースなどを使用するソリューションは、.NET 4.7 より前のプラットフォーム (つまり、.NET 4.6.1) を対象とするプロジェクトで動作し、任意のEF モデルで動作できる必要があります ( Model-First、Database-First、または Code-First のいずれで作成されたかに関係なく)、複雑なプロパティ情報 (つまり、Entity.ComplexProperty. ... .ComplexSubProperty.ScalarProperty ) とスカラー プロパティ情報を処理できます。理想的には、DbContext から派生したコンテキストでも動作し (ただし、ObjectContext は DbContext から抽出できます)、VB.NET である必要があります。(現在、EF 6.4 で Visual Basic 2019 を使用しており、「ホスト プロジェクト」は .NET 4.6.1 を対象としています。)
見通しのために、これが私の既存のソリューションのコードです(軽減したい前述の制限を思い出してください):
ホスト コード: (指定された XML サンプル [下部を参照] では、エンティティ「Location」とプロパティ式「Address.Street」が指定されると、店舗情報のテーブル名「Locations」と列名「Address_Street」が返されます [および概念モデル名「SCTModel」]):
クラスコード:
上記のコードの ".\SCTModel.msl" ファイルから読み込んだサンプルXML を次に示します。
繰り返しになりますが、MSL マッピング情報がリソースとしてプロジェクトに埋め込まれている場合 (つまり、「res://SCTModel.msl」) 、概念情報 (エンティティ/プロパティ式) からストア情報 (テーブル/列) を取得するという問題があります。
c# - Code First EF 6.4.4 を使用した最初のアプリケーション: SQL Server 接続エラー
私は EF (コアではない) の学習を始めたばかりで、最初のコード ファースト アプリケーションを作成していました。これは C# コンソール アプリケーションで、移行を追加してからサンプル データベース (私のソリューションと同じ名前) を作成するだけです。を実行しようとするとUpdate-Database
、次のエラーが発生します。
SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 50 - ローカル データベース ランタイム エラーが発生しました。自動インスタンスを作成できません。エラーの詳細については、Windows アプリケーション イベント ログを参照してください。)
検索して実装しましたが、まだ解決できていない手順は次のとおりです。
- SQL Server 構成マネージャーで TCP/IP ポートを有効にしました
- すべてのサービスが実行されていることを確認しました (ブラウザ、SQL Server)
- Windows Defender ファイアウォールに例外を追加しました
- 「リモート接続」を許可するチェックボックスを選択しました
私の接続文字列は次のとおりです。
「localDB」も削除しようとしましたが、役に立ちませんでした。
パッケージ マネージャー コンソールを使用した C# コードの手順は次のとおりです。
- インストール パッケージ EntityFramework
- 移行を有効にする
- 追加移行 CreatePost
- データベースを更新する
この点で何か助けていただければ幸いです。
c# - Visual Studio 2019 を再度開くたびに、Entity Framework で「ファイルまたはアセンブリを読み込めませんでした」、「FileNotFoundException」というエラーが表示される
Visual Studio 2019 Ent と EntityFramework.6.4.4 を使用しています。VS19 を再起動して EF にアクセスしようとすると、コード ファースト アプローチで次のエラーが発生します。
これまでに試したこと: nugete パッケージ、つまりエンティティ フレームワークを毎回再インストールすることで機能する一時的な解決策を 1 つ見つけました。しかし、これは面倒であり、間違いなく解決策ではありません. 恒久的な解決策を探しています。前もって感謝します。