タグ付けされた質問 「entity-framework」

ADO.NET Entity Framework、.NET Framework用のObject-Relational-Mapping(ORM)ツールに関する質問。該当する場合は、バージョン固有のタグを追加してください。Entity-Framework-coreの質問には、このタグを使用しないでください。代わりにentity-framework-coreを使用してください。

7
複数のコンテキストのEF移行を有効にしてデータベースを分離するにはどうすればよいですか?
同じコンテキスト内の複数のDBコンテキストに対してEntity Framework 5(バージョン5.0.0)の移行を有効にするにはどうすればよいですか(各コンテキストは独自のデータベースに対応しています)?Enable-MigrationsPMコンソール(Visual Studio 2012)で実行すると、複数のコンテキストがあるためエラーが発生します。 PM> Enable-Migrations More than one context type was found in the assembly 'DatabaseService'. To enable migrations for DatabaseService.Models.Product1DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext. To enable migrations for DatabaseService.Models.Product2DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext. 私が実行した場合Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext、私は実行することはできませんよEnable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext移行がすでに存在するため:Migrations have already been enabled in project 'DatabaseService'. To overwrite …


19
ASP.NET MVC-同じタイプの別のエンティティに同じ主キー値がすでにあるため、タイプ「MODELNAME」のエンティティのアタッチに失敗しました
一言で言えば、ラッパーモデルのPOST中に、1つのエントリの状態を「変更済み」に変更するときに例外がスローされます。状態を変更する前に、状態は「Detached」に設定されていますが、Attach()を呼び出しても同じエラーがスローされます。EF6を使用しています。 以下のコードを見つけてください(読みやすくするためにモデル名が変更されています) 型番 // Wrapper classes public class AViewModel { public A a { get; set; } public List<B> b { get; set; } public C c { get; set; } } コントローラ public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } if (!canUserAccessA(id.Value)) return …

3
DbArithmeticExpression引数には、共通の数値型が必要です
TimeSpan time24 = new TimeSpan(24, 0, 0); TimeSpan time18 = new TimeSpan(18, 0, 0); // first get today's sleeping hours List<Model.Sleep> sleeps = context.Sleeps.Where( o => (clientDateTime - o.ClientDateTimeStamp < time24) && o.ClientDateTimeStamp.TimeOfDay > time18 && clientDateTime.TimeOfDay < time18 && o.UserID == userid).ToList(); このLinq式は次の例外をスローします。 DbArithmeticExpression arguments must have a numeric …

6
Entity Framework 4 Single()vs First()vs FirstOrDefault()
単一のアイテムをクエリするためのさまざまな方法の比較と、それぞれをいつ使用するかについて、時間の悪魔がいます。 誰かがこれらすべてを比較するリンクを持っていますか、またはなぜあなたが他のものを使うのかについての簡単な説明がありますか?私が知らないオペレーターがまだいますか? ありがとうございました。

8
SQL Server 2008およびSQL Server 2005と日時の使用
2008データベースに対してエンティティフレームワークモデルを構築しました。すべて2008年のデータベースに対して問題なく動作します。2005データベースのエンティティを更新しようとすると、このエラーが発生します。 使用中のSQL Serverのバージョンは、データ型 'datetime2をサポートしていません データベースを構築したとき、2008の機能は特に使用しませんでした。コードにdatetime2への参照が見つかりません。そして、はい、列はデータベースで「日時」として定義されています。

5
エンティティフレームワークを「ウォームアップ」する方法 いつ「冷たく」なりますか?
いいえ、2つ目の質問の答えは冬ではありません。 序文: 私は最近、Entity Frameworkについて多くの研究を行っていますが、クエリがウォームアップされていないときのパフォーマンス、いわゆるコールドクエリに悩まされています。 私が通過したパフォーマンスに関する考慮事項の Entity Frameworkの5.0についての記事。著者は、ウォームクエリとコールドクエリの概念とそれらの違いを紹介しました。これらも、その存在を知らずに気づきました。ここで、私がたった6か月しか経験していないことに言及する価値があるでしょう。 これで、パフォーマンスの観点からフレームワークをよりよく理解したい場合に、さらに調査できるトピックがわかりました。残念ながら、ほとんどのインターネット上の情報のが上の任意の付加的な情報を見つけるために、したがって、私のことができない、時代遅れまたは主観で肥大化しているウォーム対コールドクエリトピックを。 基本的に、これまでに気付いたことは、再コンパイルまたはリサイクルのヒットが発生するたびに、最初のクエリが非常に遅くなることです。予想どおり、後続のデータ読み取りは高速(主観的)です。 私たちは、Windows Server 2012、IIS8、SQL Server 2012に移行する予定です。私はジュニアとして、実際にそれらをテストする機会を得ました。彼らが私の最初のリクエストのために私のアプリケーションを準備するウォーミングアップモジュールを導入してとても嬉しいです。ただし、Entity Frameworkのウォームアップの進め方がわかりません。 私がすでに知っていることはやる価値があります: 提案されているように、事前にビューを生成します。 最終的には、モデルを別のアセンブリに移動します。 私がやろうと考えていることは、常識的に考えて、おそらく間違ったアプローチです: 物事をウォームアップし、モデルを生成して検証するために、Application Startでダミーデータを読み取ります。 質問: Entity Frameworkでいつでも高可用性を実現するには、どのような方法が最適ですか? Entity Frameworkはどのような場合に「コールド」になりますか?(再コンパイル、リサイクル、IIS再起動など)

1
Entity Framework Code First-Fluent Apiとデータアノテーションのメリットとデメリット[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する Entity Frameworkをコードファーストで使用してデータベースを作成する場合、データベースモデルの多くをコードから抽出できます。Fluent APIや属性を使用して、モデルを微調整できます。 データアノテーションと比較したFluent Apiの長所と短所は何ですか?つまり、特定の状況で両方の方法を使用できる場合でも、どの方法で一方の方法が他方よりも優先されるのでしょうか。

7
Entity Framework Migrationsがテーブルとカラムの名前を変更
いくつかのエンティティとそのナビゲーションプロパティの名前を変更し、EF 5で新しい移行を生成しました。EF移行での名前の変更と同様に、デフォルトでは、オブジェクトを削除して再作成していました。それは私が欲しかったものではないので、移行ファイルをゼロから構築しなければなりませんでした。 public override void Up() { DropForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports"); DropForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups"); DropForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections"); DropIndex("dbo.ReportSectionGroups", new[] { "Report_Id" }); DropIndex("dbo.ReportSections", new[] { "Group_Id" }); DropIndex("dbo.Editables", new[] { "Section_Id" }); RenameTable("dbo.ReportSections", "dbo.ReportPages"); RenameTable("dbo.ReportSectionGroups", "dbo.ReportSections"); RenameColumn("dbo.ReportPages", "Group_Id", "Section_Id"); AddForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports", "Id"); AddForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections", "Id"); AddForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages", "Id"); …


14
EFでDateTimeの日付コンポーネントのみを比較する方法は?
2つの日付値があります。1つは既にデータベースに保存されており、もう1つはユーザーがDatePickerを使用して選択しました。ユースケースは、データベースから特定の日付を検索することです。 以前にデータベースに入力された値には常に12:00:00の時間コンポーネントがありますが、ピッカーから入力された日付には異なる時間コンポーネントがあります。 日付コンポーネントのみに関心があり、時間コンポーネントは無視したいと思います。 C#でこの比較を行う方法は何ですか? また、LINQでこれを行う方法は? 更新:LINQ to Entitiesでは、以下が正常に機能します。 e => DateTime.Compare(e.FirstDate.Value, SecondDate) >= 0

4
LINQ to Entitiesがメソッドを認識しない
linqクエリを実行しようとすると、次のエラーが発生します。 LINQ to Entitiesは 'Boolean IsCharityMatching(System.String、System.String)'メソッドを認識せず、このメソッドはストア式に変換できません。 私は以前の多くの質問を読んだことがありますが、人々が同じエラーを受け取る場合、これを正しく理解できれば、LINQ to Entitiesはlinqクエリ式全体をサーバークエリに変換する必要があるため、外部メソッドを呼び出すことができません初期化。シナリオをうまく機能させることができず、脳が溶け始めているので、誰かが私を正しい方向に向けてくれることを期待していました。私たちはEntity Frameworkと仕様パターンを使用しています(そして私は両方とも初めてです)。 仕様を使用するコードは次のとおりです。 ISpecification<Charity> specification = new CharitySearchSpecification(charityTitle, charityReference); charities = charitiesRepository.Find(specification).OrderBy(p => p.RegisteredName).ToList(); これがlinq式です。 public System.Linq.Expressions.Expression<Func<Charity, bool>> IsSatisfied() { return p => p.IsCharityMatching(this.charityName, this.charityReference); } IsCharityMatchingメソッドは次のとおりです。 public bool IsCharityMatching(string name, string referenceNumber) { bool exists = true; if (!String.IsNullOrEmpty(name)) { if …

12
エンティティフレームワークエンティティの変更を元に戻す
これは簡単な質問かもしれませんが、ADO.NETエンティティフレームワークは(生成されたエンティティの)変更を自動的に追跡し、元の値を維持するため、エンティティオブジェクトに加えられた変更をどのようにロールバックできますか? ユーザーがグリッドビューで「顧客」エンティティのセットを編集できるフォームがあります。 これで、[承諾]と[元に戻す]の2つのボタンができました。[承諾]をクリックすると、呼び出しContext.SaveChanges()が行われ、変更されたオブジェクトがデータベースに書き戻されます。「元に戻す」をクリックすると、すべてのオブジェクトが元のプロパティ値を取得できるようになります。そのためのコードは何でしょうか? ありがとう

5
Entity Frameworkの接続文字列を編集するにはどうすればよいですか?
最近、app.configファイルを編集して、Entity Frameworkデータモデル(.edmxファイル)の接続文字列を変更する必要がありました。しかし、知りたいのですが、デザイナーを使用してEF接続文字列を編集する方法はありますか? 元の接続文字列は、エンティティデータモデルウィザードによって自動生成されます。その場合、接続文字列は変更できません。.edmxデザイナーのプロパティウィンドウで無効のままになります。(app.configで)できる限り手動でXMLを編集することを避けたいので、元のウィザード画面に戻って接続文字列を変更し、ツールにapp.configファイルを編集させる方法があるかどうか疑問に思いました私のために。

3
DbSet.Attach(entity)とDbContext.Entry(entity).State = EntityState.Modified
切り離されたシナリオで、クライアントにdtoを取得し、エンティティにマップして保存すると、次のようになります。 context.Entry(entity).State = EntityState.Modified; context.SaveChanges(); その時は何ですか DbSet.Attach(entity) または、EntityState.Modifiedが既にエンティティをアタッチしているときに.Attachメソッドを使用する必要があるのはなぜですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.