問題タブ [entity-framework-6]
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 - EF6 を使用した SQL Server への接続
EF5 までは、SQL Server 2012 に接続するために、次のような接続文字列を指定するだけで済みました。
このメソッドは EF6 では機能せず、例外が発生します
'System.Data.Odbc' ADO.NET プロバイダーの Entity Framework プロバイダーが見つかりません。プロバイダーがアプリケーション構成ファイルの「entityFramework」セクションに登録されていることを確認してください
私はapp.config
ファイルをまったく使用していません。上記の接続文字列を MyContext コンストラクターに渡しています。System.Data.SqlClient を使用せずに、Odbc プロバイダーを使用しようとしているのはなぜですか?
EF6 コード ファーストで SQL Server に接続するには、何をする必要がありますか? EntityFramework.dll と EntityFramework.SqlServer.dll の両方が Application フォルダーにあることを確認しました。WPFプロジェクトにEF6 nugetパッケージv6.0.0.1を追加しましたが、EFライブラリを直接使用せず、自動的に作成されたApp.Configファイル(nugetによって)がアプリケーション(デバッグ)フォルダーにコピーされていることを確認します-まだありません成功。
また、コードで手動でプロバイダーを設定しようとしました:
まだ成功していません。私のプロジェクトの構造は次のとおりです(簡略化):
WPF プロジェクト - EF への参照がありません (EF 参照の追加も試みました)
ViewModel クラス ライブラリ - EF への参照がありません
モデル クラス ライブラリ - EF ライブラリ (両方の dll) への参照があります。
データ クラス ライブラリ - UI ライブラリ (両方の dll) への参照があります。
私は CodeFirst アプローチを使用していますが、このセットアップは EF5 で問題なく動作します。どんな助けでも大歓迎です。
entity-framework - EF 6 - 多対多 - 重複のない結合テーブル
私はEF6を使用していますが、多対多の関係をシードすることに混乱があります。
私は次のものを持っています:
AUser
には多くの保存がありChartQueries
ます(チャートを取得するために実行できます)。通常ChartQuery
、 は 1 人のユーザーのみに属しますが、ChartQuery
全員User
が実行できる「共有」 がいくつかあります。その結果、結合テーブルを使用して多対多の関係を設定しましたUserChartQuery
。データベース内のテーブルは、結合テーブルの両側で 1 対多で問題なく稼働しています。
ただし、この関係をシードまたは使用する方法がよくわかりません。ChartQuery
「共有」の複数の重複(各の重複)を終わらせたくありませんUser
。代わりに、各のコレクションChartQuery
の一部である 「共有」ごとに 1 つの行のみが存在する必要があります(そのコレクションのみに属する他の非共有 と一緒に)。User
SavedChartQueries
ChartQuery
User
ユーザーごとに複製する必要があるようです:
まず第一に、これは( UserChartQueries テーブルを直接介して)シードする正しい方法ですか、それとも各User
の SavedChartQueries ナビゲーションプロパティをシードする必要がありますか?
sharedChartQuery
そして、これはそれぞれの結合テーブルで重複しUser
ますか? もしそうなら、これを回避する方法はありますか?
entity-framework - エラー「タイプ MyNamespace.MyCustomInitializer、MyAssembly のデータベース初期化子を設定できませんでした」は MyContext タイプを読み込めませんでした
新しい SQL Compact データベースを使用する Entity Framework 6 alpha3 で .NET4.5 を使用して Web アプリを作成しています。データベースはまだ存在しません。
Web フォームに次のコードがあります。
ここで、JournalistContext は DbContext から派生します。正常に JournalistContext のインスタンスを作成しますが、次の行を実行すると、以下の例外がスローされます。データベースが存在しないため、初期化子を呼び出そうとすると推測していますが、これは失敗します。
ここhttp://msdn.microsoft.com/en-us/data/jj556606で説明されているように、現在空のクラスであるカスタム データベース初期化子を作成しました。
私の web.config ファイルは、この初期化子を次のように参照します。
私は困惑しています!何か案は?
もう 1 つ気づいたこと: これらの行が web.config ファイルに表示されています。それらがどのように追加されたのか、またはその理由はわかりません。
どうもありがとう、マーク。
c# - EFでのIDatabaseInitializerの正しい使用法は何ですか?
以下のカスタム DatabaseInitialiser があります
上記のコードについての何かは単なるハック以上のものです (助けを借りて自由に参加してください)
次に、移行を追加し、移行スクリプトも正しく機能するようにしました。
移行は期待どおりに機能します。
さて、質問は私のアプリケーションの起動時に何をすべきですか? このようなもの
また、一部のフォーラムでは、コンテキストを使用するたびにデータベースとスキーマが正しいかどうかを確認したくないため、少し奇妙に思えるコンストラクターでもこれを提案しました。それで、このテクニックの可能な使用法は何ですか、または提案のコンテキストが間違っていると思いましたか?
要約すると、
利用可能なさまざまな手法の正しいユースケースは何ですか?
移行がすべての条件で機能し、データベースをある環境から別の環境に移動するときに理想的な戦略は何でしょうか?
entity-framework - Entity Framework 6 での STE の可用性
Entity Framework 6 で STE (セルフ トラッキング エンティティ) がサポートされるかどうかの情報が見つかりません。どなたかご存知でしたら教えていただければ幸いです。
EF サイトを見ていましたが、STE についての言葉はありません。
ありがとうございました。
sql-server-2008 - SQL Server varchar と nvarchar を使用した場合の Windows のオーバーヘッドはどれくらいですか?
私のデータは純粋な ascii として受信されるため、外国語の文字や照合は必要ありません。
私の懸念は、アプリケーション コードのパフォーマンスです。varchar が nvarchar よりもパフォーマンスが優れているという多くの議論を読みましたが、Windows Unicode と SQL Server の非 Unicode varchar データの間で相互に変換するオーバーヘッドについては議論されていませんか?
varchar と nvarchar を処理する SQL Server 内のパフォーマンス、または Windows 側の Unicode と SQL Server 側の非 Unicode との間で行ったり来たりするアプリケーションのパフォーマンスなど、一般的に大きな影響はどれですか? どちらかが他のシナリオよりも優れたパフォーマンスを発揮するシナリオがあることは理解しています。そのため、私の主なシナリオは、単純なテキスト検索と、数百万件のレコードからの取得です。DAL として Entity Framework 6.1.3 を使用しています。
これは懸念事項であり、このトピックについて実験したり、知識のある人からのフィードバックをお待ちしています. varchar と nvarchar を議論する記事は、SQL データベースがパフォーマンスに関して完全に分離されており、外部ソフトウェアが機能しないように振る舞います。実際、Windows ネイティブの Unicode とデータベースでの ascii の間に Unicode インピーダンスの不一致があり、ストレージ容量と転送速度が無視され、ascii データベースのパフォーマンスの利点が無効になりますか? 特にEFに関しては?ありがとう
c# - 逆プロパティのない多対多
EF で多対多の関係を作成したいと考えています。通常は InverseProperty 属性を使用しますが、この場合は次のようになります。
私は逆の性質を持っていません。特権が複数のロールで使用される可能性があることを EF に伝える方法は?
[現在、EF は Role_Id 列を Privilege テーブルに配置しています。これは私が望むものではありません:-)]
編集: Fluent API を使用したくありません。属性を探しています。
c# - SQL クエリと OFType
EF 6 にアップグレードしましたが、その状況を移行する方法、使用方法、SQLQuery
およびOFType
?