問題タブ [linq-to-entities]
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.
linq - ADO.NET エンティティ デザイナーを拡張する方法は?
拡張する方法、つまり、Visual Studio のエンティティ デザイナーに機能を追加する方法を知っている人はいますか?
たとえば、デザイナーでエンティティのプロパティを右クリックし、コンテキスト メニューに新しいオプションを表示して、必要なことを何でも実行できるようにしたいと考えています。
c# - 生成されたクエリに 1/2 秒しかかからないのに、Entity Framework がレコードを読み込むのに 30 秒かかるのはなぜですか?
以下の executeTime は、初回は 30 秒、次に同じコード セットを実行するときは 25 秒です。SQL Profiler で見ていると、すぐにログインが表示され、そこに約 30 秒間留まります。次に、select ステートメントが実行されるとすぐに、アプリは ToList コマンドを終了します。Management Studio から生成されたクエリを実行すると、データベース クエリは約 400 ミリ秒しかかかりません。14 行と 350 列を返します。データベースの結果をエンティティに変換するのにかかる時間は非常に短いため、目立たないようです。
では、データベース呼び出しが行われる前の 30 秒間に何が起こっているのでしょうか?
エンティティ フレームワークがこれほど遅い場合、使用することはできません。私が間違っていること、またはこれを劇的にスピードアップするために変更できることはありますか?
更新: コンパイル済みクエリを使用すると、最初は 30 秒かかり、2 回目は 1/4 秒かかります。最初の通話をスピードアップするためにできることはありますか?
linq - データベースで行われた変更を反映するように edmx を更新する (.net linq-to-entities)
- だから私は自分のedmxを作った。
- 次に、データベースを少し変更し、列を NOT NULL から NULL を許可するように変更します。
- edmx に移動し、右クリックして [データベースからモデルを更新] を選択します。
今、私は自分のプログラムに入りましたが、実際には更新されていません...列にnullを入れることはできません。edmx を正しく更新するにはどうすればよいですか? ありがとうございました。
linq - Visual Studio 2008のedmxからSQLデータベーススキーマを更新することは可能ですか?
したがって、LINQ-to-SQLを使用すると、LINQオブジェクトからデータベースを更新し、SQLからLINQオブジェクトを更新できることがわかります。
LINQのエンティティフレームワーク(別名LINQ-to-entities)を使用しており、SQLデータベースからエンティティを更新できますが、エンティティを変更してデータベーススキーマを更新できません。
これはイライラします。足りないものはありますか?私は何か間違ったことをしていますか?Visual Studio 2008でこれが不可能な場合、これを実行するプラグインまたはその他のサードパーティアプリケーションはありますか?
linq-to-entities - エンティティへの積極的な読み込みとLINQ
私が収集した限りでは、エンティティへのLINQは、Load()
またはを熱心にロードすることを推奨していInclude()
ます。ただし、多層アプリケーションで積極的な読み込みをどこで行う必要があるのでしょうか。
Item GetItem(int id)
データアクセス層(エンティティインスタンスをカプセル化するリポジトリクラス)が総称機能を持ち、ビジネスロジック層ではそうするのは正しいですか?
または、リポジトリクラスに、さまざまな外部関係をロードするさまざまな明示的な関数を含める必要があります。したがって、熱心にロードされた関係のアイテムを返しますか?
どうもありがとう!
編集: 例-http ://www.asp.net/learn/mvc/tutorial-29-cs.aspx
Contact
この関数はエンティティタイプを返します。ただし、ビジネスロジックのニーズに応じて、エンティティの外部関係を変更したいLoad()
場合があります。この要件は、ロードするリレーションを示すパラメーターを使用して、よりオーバーロードされたメソッドが必要であることを意味しますか、それとも単にビジネスロジックで実行しますか?Include()
Contact
GetContact()
Load()
c# - データベースにない Entity Framework オブジェクトをアタッチするにはどうすればよいですか?
Entity Framework オブジェクトと POCO オブジェクトを完全に分離しています。それらを前後に翻訳するだけです...
すなわち:
そして、同じプロパティを持つEFオブジェクト「作成者」があります..
だから私は私のビジネスオブジェクトを持っています
このオブジェクトを保存したいので、次のようにします。
しかし、これは私に次のエラーを与えます:
null EntityKey 値を持つオブジェクトは、オブジェクト コンテキストにアタッチできません。
編集: entities.AttachTo("Authors", dbAuthor); を使用する必要があるようです。EntityKeyなしでアタッチするには、しかし、ハードコーディングされたマジックストリングがあり、エンティティセット名をまったく変更すると壊れてしまい、コンパイル時のチェックがありません...コンパイル時のチェックを維持するアタッチできる方法はありますか?
ハードコーディングされた文字列がコンパイル時の検証を無効にするので、これができることを願っています=)
c# - CompiledQueryとプレーンLinqSQLの生成
そのため、SQLServerデータベースにアクセスするためのさまざまな方法のプロファイリングを行っていました。バニラTSQL、CompiledQuery、およびコンパイルされていないLinqステートメントを実行しました。
予想通り、パフォーマンスは同じ順序で進んでいましたが、後者の2つをプロファイリングすると、何か不思議なことに気づきました。
CompiledQueryによって生成されたSQLは、単純な古いステートメントによって生成されたものよりもはるかに優れていました。
ローカルSQLExpressデータベース。テーブルは「foreignTable」と呼ばれ、ColumnAはint、主キー(インデックス付き)です。ColumnBはランダムなintです。
生成します
これは、生成されたコードの場合、実際にはそれほどひどいものではありません。
しかし、私が単純なLinqステートメントを実行すると:
それは生成します:
これはただくだらないです。
ですから、質問は次のように思います。通常のLinqをエンティティにCompiledQueryと同じ量のSQLサッキーを与えることは可能ですか?
c# - サーバー側で HttpContext に相当するものは?
現在、現在の HttpContext を使用して LINQ データ コンテキストを格納する Web アプリがあります。コンテキストは、 Rick Strahl のブログごとに、ユーザーごとに現在のリクエストに対して永続化されます。
ただし、global.asax ファイルから実行される、HttpContext を持たないスクリプトがいくつかあります。 サーバーが「リクエスト」を行っているため、HttpContext.Current は NULLです。
データ コンテキストを格納するために使用できる同等のオブジェクトはありますか? 再作成やオブジェクトの取り付け/取り外しについて心配する必要はありませんか? プロセスの存続期間中、コンテキストを保持したいだけです。
更新しました:
現在、DAL ヘルパー クラスで静的変数を使用しようとしています。クラス内のいずれかのメソッドへの最初の呼び出しで、DataContext がインスタンス化され、静的変数に格納されます。プロセスの最後に、DataContext で Dispose を呼び出す別のメソッドを呼び出し、静的変数を NULL に設定します。
asp.net-mvc - EFリポジトリのコードサンプルまたは「テンプレート」を探しています
優れたEntityFrameworkリポジトリコードサンプルまたはテンプレートを探しています。