タグ付けされた質問 「dbcontext」

9
Webリクエストごとに1つのDbContext ...なぜですか?
Entity Frameworkの設定方法を説明する記事をたくさん読んでいます DbContextて、さまざまなDIフレームワークを使用するHTTP Webリクエストごとに1つだけが作成および使用されるます。 そもそもなぜこれが良いアイデアなのでしょうか?このアプローチを使用すると、どのような利点がありますか?これが良い考えとなる特定の状況はありますか?この手法を使用して、DbContextリポジトリメソッドの呼び出しごとにをインスタンス化するときに実行できないことはありますか?

12
エンティティフレームワーク:1つのデータベース、複数のDbContexts。これは悪い考えですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 先月休業。 この質問を改善する これまでの私の印象DbContextは、はデータベースを表すことを目的としているため、アプリケーションが1つのデータベースを使用する場合は、1つだけが必要だと考えていましたDbContext。 ただし、一部の同僚は、機能領域を個別のDbContextクラスに分割したいと考えています。 これは良い場所から来ていると思います-コードをよりクリーンに保ちたいという願望-が不安定なようです。私の腸はそれが悪い考えだと私に言っていますが、残念ながら、私の腸の感覚は設計決定のための十分な条件ではありません。 だから私は探しています: A)これが悪い考えである理由の具体例; B)これがすべてうまくいくという保証。


21
エンティティタイプ<type>は現在のコンテキストのモデルの一部ではありません
Entity Frameworkに入りましたが、コードファーストアプローチの重要なポイントを見逃しているかどうかはわかりません。 https://genericunitofworkandrepositories.codeplex.com/のコードに基づいた汎用リポジトリパターンを使用して、エンティティを作成しました。 しかし、エンティティにアクセスまたは変更しようとすると、次のようになります。 System.InvalidOperationException:エンティティタイプEstateは、現在のコンテキストのモデルの一部ではありません。 私のリポジトリからアクセスしようとすると、次のようになります。 public virtual void Insert(TEntity entity) { ((IObjectState)entity).ObjectState = ObjectState.Added; _dbSet.Attach(entity); // &lt;-- The error occurs here _context.SyncObjectState(entity); } データベース(./SQLEXPRESS)は問題なく作成されますが、エンティティ(テーブル)は起動時に作成されません。 エンティティのマッピングを明示的に設定する必要があるかどうか疑問に思っていますか?EFはこれだけではできませんか? 私のエンティティは: public class Estate : EntityBase { public int EstateId { get; set; } public string Name { get; set; } } 私のコンテキストはそうです: public …

14
DbContextとSetInitializerを使用してdatetime2の範囲外変換エラーを修正する方法
Entity Framework 4.1で導入されたDbContextおよびCode First APIを使用しています。 データモデルは、などの基本データ型を使用していますstringとDateTime。場合によって使用している唯一のデータ注釈はですが[Required]、それはどのDateTimeプロパティにもありません。例: public virtual DateTime Start { get; set; } DbContextサブクラスはまた、のようなシンプルかつルックスです。 public class EventsContext : DbContext { public DbSet&lt;Event&gt; Events { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity&lt;Event&gt;().ToTable("Events"); } } 初期化子は、今年か来年のいずれかで賢明な値にモデルの日付を設定します。 ただし、イニシャライザを実行すると、次の場所でこのエラーが発生しcontext.SaveChanges()ます。 datetime2データ型をdatetimeデータ型に変換すると、値が範囲外になりました。ステートメントは終了されました。 すべてがとても簡単なため、なぜこれが起こっているのか理解できません。編集するedmxファイルがないため、修正方法もわかりません。 何か案は?

4
LINQ to Entitiesは、IEntityインターフェイスを使用したEDMプリミティブまたは列挙型のキャストのみをサポートします
私は次の一般的な拡張メソッドを持っています: public static T GetById&lt;T&gt;(this IQueryable&lt;T&gt; collection, Guid id) where T : IEntity { Expression&lt;Func&lt;T, bool&gt;&gt; predicate = e =&gt; e.Id == id; T entity; // Allow reporting more descriptive error messages. try { entity = collection.SingleOrDefault(predicate); } catch (Exception ex) { throw new InvalidOperationException(string.Format( "There was an error retrieving …

5
Entity Frameworkにデータベースから常に更新されたデータを取得させるにはどうすればよいですか?
私が使用していますEntityFramework.Extendedバッチ更新を実行するためのライブラリを。唯一の問題は、EFがライブラリによって実行されたバッチ更新を追跡しないことです。したがって、DbContext再度クエリを実行しても、更新されたエンティティは返されません。 AsNoTracking()クエリ中にメソッドを使用すると、追跡が無効になり、データベースから新しいデータが取得されることがわかりました。ただし、EFはクエリされたエンティティを追跡しないためAsNoTracking()、クエリされたデータを更新することはできません。 変更を追跡しながらEFに最新のデータを取得させる方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.