問題タブ [dbcontext]
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.
c# - Entity Framework - カスタム DbContext を使用してリポジトリを実装する方法は?
さまざまなアプリケーション間でコードを共有するために、社内で小さなフレームワークの開発を開始しています。データ アクセスには EF4 を使用しています。カスタム DbContext クラスと汎用リポジトリがあります。
ここでの問題は、カスタム DbContext クラス (RMDbContext) を使用してリポジトリを実装する方法です。私の同僚は、RMDbContext に IRepository インターフェイスを実装させるのが最善の方法だと考えています。
正直なところ、コンテキストが特定のコントラクト (IRepository) に関連付けられているため、このアプローチは好きではありません。IMO RMDbContext を使用するリポジトリ実装を作成することをお勧めします。次のようになります。
これら2つのアプローチについてどう思いますか?どちらを選びますか。なぜですか。
c# - DbContext SaveChanges()-更新されたエンティティを検出します
Entity Framework 4.1 DbContextクラスのSaveChanges()メソッドをオーバーライドしました。
私のオーバーライドは次のようになります:
コンテキストに2つのエンティティがあり、両方がModified(EntityState.Modified)としてマークされていると想定します。それらの1つは変更されており、基になるデータベース行とは異なります。もう1つは、基になるデータベース行と実際には違いはなく、そのようにマークされているだけです。
SaveChanges()を呼び出した後、2つのエンティティのどちらがデータベースの行を実際に更新したか、そしてどちらが実際には変更されなかったかを確認するにはどうすればよいですか?
c# - C# EF 4.1 DbContext 内で動的にテーブルを作成する
テーブル名は静的ではなく、コンパイル時に認識されるため、実行時に SQLCe データベースにテーブルを追加したいと考えています。次のように、Entity Framework 4.1 と DbContext でこれを実行しようとしています。
これを実行しようとすると、次のエラーがスローされます: The entity type Person is not part of the model for the current context .
データベースでその DbSet (そのスキーマを含む) を定義することなく、実行時に DbSet を DbContext に追加することは可能ですか?
Person を使用して DbContext を静的に定義すると、EF はデータベース全体とテーブルをその場で作成します。これはすばらしいことです。
例えば:
これは何とかEFで可能ですか、それとも他の手法でこれらを作成する必要がありますか?
ありがとう、ユルゲン
ado.net - ADO.NETDbContextGeneratorの実行後の非表示のエンティティクラス
VB.NETアプリケーションでDbContextGeneratorを使用しましたが、生成されるエンティティクラス(.ttファイルではない)は、ソリューションエクスプローラーで[すべてのファイルを表示]オプションを選択した場合にのみ表示されます。
これが起こっている理由は何ですか?ac#プロジェクトを作成して同じことを行うと、.ttファイル内に表示されることに気づきました。
asp.net-mvc - EntityFrameworkで2つの関連モデルと同時実行性を更新する
ASP.NET MVCアプリケーションで、次の2つの関連モデルを更新しようとしています。
最初のものは問題なく通過していますが、2番目のものを更新しようとすると、並行性が発生し、以下のエラーがスローされます。
ストアの更新、挿入、または削除ステートメントが予期しない行数(0)に影響しました。エンティティがロードされてから、エンティティが変更または削除された可能性があります。ObjectStateManagerエントリを更新します
私がここでやろうとしていることを達成する方法は何ですか?
アップデート
_accommpropertyseasondetailrepo
Edit
方法は次のとおりです。
_accommpropertyseasonrepo
Edit
方法は次のとおりです。
更新2
アクションメソッド全体は次のとおりです。
アップデート
Brutal Truth:ビューの次のコード行を忘れたため、モデルはPKなしで戻ってきました:
問題は解決しました!
asp.net-mvc-3 - MVC3/Razor Add Controller "Get-PrimaryKey" が主キーを見つけられない
既存のデータベースに基づいて Entity Framework モデルを作成しました。Entity Framework は ADO.NET DbContext Generator を使用しています。
最初のプロジェクトの DLL を使用する MVC3/Razor プロジェクトも作成しました。「追加 -> コントローラ」オプションをクリックして必要なフィールドに入力すると、厄介なエラーが発生します。
これを回避するには、Visual Studio によって生成された Groups.cs に移動し、「using System.ComponentModel.DataAnnotations;」を追加する必要があります。[Key] を Groups フィールドの宣言に追加します。ただし、これは生成されたコードです。Entity Framework Project を再コンパイルすると、変更内容はもちろん失われます。
だから - 私の質問は:
Visual Studio がキー フィールドが何であるかを理解できない原因となっている何か間違ったことをしているのですか、それともキーが何であるかを理解するのを妨げているスキャフォールディング コードの単なるバグですか。
これは、文字列ベースの主キーでのみ失敗することに注意してください。フィールドが整数として宣言されていた場合、すべてが完全に機能します。
問題のあるテーブルは次のとおりです。
私の環境は次のとおりです。
c# - DbSet.FirstOrDefault()?
これを実行しようとしていますが、FirstOrDefaultを使用できないと表示されます。
エラーは「System.Data.Entity.DbSet」に「FirstOrDefault」の定義が含まれておらず、タイプ「System.Data.Entity.DbSet」の最初の引数を受け入れる拡張メソッド「FirstOrDefault」が見つかりませんでした(欠落していますか?使用ディレクティブまたはアセンブリ参照?)
次に、このCast
メソッドを試しましたが、エラーが発生しました。タイプ'WindowStyle'のオブジェクトの非ジェネリックDbSetからDbSetを作成できません(btwは以下WindowStyle
から継承しDomainEntity
ます)。
これがクラスです、
asp.net-mvc-3 - DbContextはどこに置くべきですか?
3つのレイヤー(ビジネスロジック、永続性、ドメイン)を統合するMVC 3プロジェクトで作業している場合、どのレイヤープロジェクトにDbContext実装を配置する必要があるのか疑問に思いました。
MVC 3プロジェクトに直接含める必要がありますか?または永続的に?
ありがとう。
entity-framework-4.1 - MvcScaffoldingは、廃棄されない使い捨てリソースを作成します
EF4.1でMvcScaffoldingを使用すると、コントローラーの最初に生成された行は、通常、次のフィールド定義であることがわかります。
ここで、BarContext
は次のとおりです。
System.Data.Entity.DbContext
を実装していることを考えると、破棄を処理する可能性のあるメソッドIDisposable
に対して生成されたオーバーライドが見つからないことに驚いています。FooController
Dispose(bool)
context
これはテンプレートの見落としですか、それともこれを問題にしない何かが欠けていますか?
c# - DbContext Set()からソフト削除を除外します
IsSoftDeleted
このDbSetからアイテムをフィルタリングするにはどうすればよいですか?
方法
モデル
編集:表示するのを忘れたからWhatever
派生BaseEntity