問題タブ [entity-framework-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.
entity-framework - SQL Compact プライベート インストールでの Entity Framework の使用
SQL Compact を使用したデスクトップ アプリケーションで Entity Framework 4 を使用しています。アプリケーションで SQL Compact のプライベート インストールを使用して、インストーラーがユーザーに 2 回目のインストールを行わずに SQL Compact をインストールできるようにしたいと考えています。また、今後のバージョン管理の手間も省けます。
私の開発マシンには SQL Compact 3.5 SP1 がパブリック インストールとしてインストールされているため、期待どおりにアプリが正常に動作します。しかし、SQL Compact がインストールされていないテスト マシンでは実行されません。次のエラーが表示されます。
一部の人々が SQL Compact のプライベート インストールに問題を抱えていることは知っていますが、私はそれらをしばらく使用しており、非常に気に入っています。残念ながら、私の通常のプライベート インストール アプローチはうまくいきません。SQL CE ファイルのバージョン番号を確認したところ、すべて 3.8.8078.0 で、これは SP2 RC バージョンです。
プライベート インストールに含めたファイルは次のとおりです。
- sqlcecompact35.dll
- sqlceer35EN.dll
- sqlceme35.dll
- sqlceqp35.dll
- sqlcese35.dll
- System.Data.SqlServerCe.dll
- System.Data.SqlServerCe.Entity.dll
System.Data.SqlServerCe への参照をプロジェクトに追加し、上記のすべてのファイルがインストール コンピューターのアプリケーション フォルダーにコピーされていることを確認しました。
SQL Compact ファイルを開くときに EntityConnectionStringBuilder を構成するために使用するコードを次に示します。
ファイルがありませんか?SQL Compact DLL の場所を Entity Framework に伝えるために必要な構成手順がありませんか? インストール マシンで EF が SQL Compact DLL を見つけられないその他の提案はありますか? ご協力いただきありがとうございます。
.net - .NET 4のEntityFrameworkでフィールドの最大長を確認するにはどうすればよいですか?
この質問によると、EF v1には、フィールドの長さを計算するための組み込みの方法はありません。.NET4に同梱されているEntityFrameworkにこれを行うための組み込みの方法はありますか?もしそうなら、どのようにですか?
c# - Entity Framework 4.0は、エンティティのファクトリメソッドに必要なパラメータをどのように決定しますか?
私はEntityFramework4.0(VS 2010 Beta 2、RCではない)を使用しています。EDMをモデル化して、必要なデータベースを作成できます。VSにモデルのコードを生成するように依頼すると、期待される.designer.csファイルが生成されます。デザイナが生成した各エンティティのファクトリメソッドを見ると、エンティティのすべてのプロパティが含まれているわけではないことに気付きました。
ファクトリメソッドにはnullにできないプロパティのみが含まれていると言うのは正しいですか?これは事実のようですが、私は完全にはわかりません。
ありがとう、
スコット
.net-4.0 - この Entity Framework コードでこのオプティミスティック コンカレンシー エラーを処理するにはどうすればよいですか?
EF4を使用するいくつかのリポジトリ パターンプロジェクトに、次の疑似コードがあります。
非常に単純ですが、実行時エラーが発生します:-
ConcurrencyException: Store、Update、Insert、または Delete ステートメントが予期しない数の行 (0) に影響を与えました。
今、これが起こっていることです:-
- EF4 の 2 つのインスタンスがアプリで同時に実行されています。
- インスタンス A が delete を呼び出します。
- インスタンス B は、1 ナノ秒後に削除を呼び出します。
- インスタンス A がエンティティをロードします。
- インスタンス B もエンティティをロードします。
- インスタンス A はそのエンティティを削除します - クールなバナナ。
- インスタンス B はエンティティを削除しようとしますが、エンティティは既に削除されています。そのため、ノーカウントまたはそうでないものは0であり、1..またはそのようなものを期待していました。基本的に、削除するはずのアイテムが削除されていないことがわかりました (ほんの数秒前に発生したため)。
これが競合状態か何かのようなものかどうかはわかりません。
とにかく、2番目の呼び出しがクラッシュしないように、ここでできるトリックはありますか? 私はそれをストアドプロシージャにすることができました..しかし、今はそれを避けたいと思っています。
何か案は?選択が呼び出されたときにその行(およびその行のみ)をロックできるかどうか疑問に思っています...行ロックが解除されるまでインスタンスBを強制的に待機させます。その時までに、行は削除されるため、インスタンス B が選択を行うと、データは存在しません..削除されることはありません。
linq - EF 4: コレクションから子オブジェクトを削除しても削除されません - なぜですか?
私はEntity Framework 4を使用しており、「Cascade Delete」を設定した親子関係があります。したがって、親から子を削除すると、SaveChanges() を呼び出すと子が削除されることが期待されます。
代わりにエラーが発生します:
System.InvalidOperationException が発生しました Message=The operation failed: 1 つ以上の外部キー プロパティが null 非許容であるため、リレーションシップを変更できませんでした。リレーションシップに変更が加えられると、関連する外部キー プロパティが null 値に設定されます。外部キーが null 値をサポートしていない場合は、新しい関係を定義するか、外部キー プロパティに別の非 null 値を割り当てるか、関連のないオブジェクトを削除する必要があります。
子を明示的に削除すると (コメント行を参照)、すべて問題ありません。私は何が欠けていますか?
entity-framework - Entity Framework のエンティティに Or 条件を追加する
エンティティ フレームワークのエンティティに "Or" 条件を追加できますか? たとえば、次のようなものです。
プロパティ 1 == (1 または 2 または 3)
「1 || 2 || 3」または「1,2,3」または「1または2または3」の値を入力すると、次のメッセージが返されます。
asp.net-mvc - エンティティ オブジェクトの Id に null 許容型を使用する必要がありますか?
私の現在のセットアップ:
いくつかのプロパティを持つエンティティ オブジェクトがありますint Id
。データベースと通信するために、特に次の方法でリポジトリを作成しました。
(これは汎用リポジトリであり、 が必要でTEntity
あり、プロパティとの単なるインターフェースである をclass
実装する必要があります。)IEntity
int Id
私の問題:
リポジトリに追加するための新しいエンティティを作成する場合、ID を指定する必要があります。ただし、EF は既に値を持っているため、ID を自動的に生成することはできません。
考えられる解決策:
この 2 つの可能性しか考えられませんでした。
- プロパティ
Id
を null 可能 にする - 代わりに をリポジトリに渡し、
EntryInputModel
そこでマッピングを行います。
現在EntryInputModel
、私は Controller にバインドし、 AutoMapperEntry
を使用してにマッピングしています。これを変更する必要がある場合は、プロジェクト内の依存関係も再考する必要があります。現在、クラスとクラスは Web アプリケーションでしか使用できないためです。...InputModel
...ViewModel
どちらが好ましいですか?これに対抗する方法は他にありますか?
entity-framework - RowVersion 属性を EF4 クラスに追加する方法
私は EF4 を使用しており、Entity デザイン サーフェイスを使用してクラスを作成し、それらからデータベースを生成しています。一部のクラスに属性を追加して、最後に更新されたタイムスタンプを表示したいと考えています。
それらに Version 属性を追加しましたが、それらに関連付ける .Net データ型がわからないため、生成時にデータベースで Timestamp または RowVersion になります。
何か案は?
entity-framework - エンティティフレームワークを使用してデータベースサーバーに現在の日時を要求するにはどうすればよいですか?
アプリケーションを実行する「アプリケーション」サーバーではなく、データベースからの現在の日時で更新したい、ModifiedDateTimeプロパティを持つエンティティがあります。
SQL Server 2008の日付ベースに人を更新または追加するたびに、ModifiedDateTimeファイルを入力します。データセットを操作し、ModifiedDateTimeファイルをGetDate()として定義するときに、データアダプターコマンドのように更新クエリを変更できるわけではありません。GetDate()メソッドの値を返すストアド関数を作成しましたが、値をint、string、またはまったく値なしで返すプロシージャをインポートする際に問題があります。たとえば、私の場合は、エンティティ値だけがPersonとして返されます。何故ですか?
とにかく、データベースサーバーから現在のDateTimeを取得するのを手伝っていただければ非常に助かります。
linq - ハードコードされた文字列の代わりにEF4LINQInclude(string)?
これに代わるものはありますか?
私は次のようなものを見たいです:
ハードコードされた文字列「Assets」を回避するため。