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

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

5
EF LINQには複数のネストされたエンティティが含まれます
わかりました、次の階層を持つ3レベルのエンティティがあります:コース->モジュール->章 元のEF LINQステートメントは次のとおりです。 Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters)) .Single(x => x.Id == id); ここで、コースに関連付けられているLabという別のエンティティを含めます。 ラボエンティティを含めるにはどうすればよいですか? 私は以下を試しましたが、うまくいきませんでした: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab) .Single(x => x.Id == id); 2番目のエンティティを含めることについてのアイデアはありますか? アドバイスや情報のいずれかが高く評価されます。ありがとう!

8
EF Code First「無効な列名 'Discriminator'」ですが継承はありません
SEntriesというデータベースにテーブルがあります(CREATE TABLEステートメントの下を参照)。主キー、いくつかの外部キーがあり、特別なことは何もありません。私のデータベースには、そのテーブルに似たテーブルがたくさんありますが、何らかの理由で、このテーブルはEFプロキシクラスの「Discriminator」列で終わっていました。 これは、クラスがC#で宣言される方法です。 public class SEntry { public long SEntryId { get; set; } public long OriginatorId { get; set; } public DateTime DatePosted { get; set; } public string Message { get; set; } public byte DataEntrySource { get; set; } public string SourceLink { get; set; } public …

8
Entity Framework Coreは最初に一意の制約コードを追加します
属性を使用してフィールドに一意の制約を追加する方法が見つかりません: public class User { [Required] public int Id { get; set; } [Required] // [Index("IX_FirstAndSecond", 2, IsUnique = true)] not supported by core public string Email { get; set; } [Required] public string Password { get; set; } } 私はこれらのパッケージを使用しています: "Microsoft.EntityFrameworkCore": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1", "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",


11
EFで親エンティティを更新するときに子エンティティを追加/更新する方法
2つのエンティティは1対多の関係です(コードが最初に流れるAPIによって構築されます)。 public class Parent { public Parent() { this.Children = new List<Child>(); } public int Id { get; set; } public virtual ICollection<Child> Children { get; set; } } public class Child { public int Id { get; set; } public int ParentId { get; set; } public string Data …

30
タイプまたは名前空間名「DbContext」が見つかりませんでした[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私はASP.NET MVC(3)を初めて使用し、Visual Studioでビルドエラーを解決するのに苦労しています。 タイプまたは名前空間名 'DbContext'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MyProjectName.Models { public class MachineModel { // name [Required] [Display(Name = "Nom de la machine")] public string Name { get; set; } // IP [Required] [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", ErrorMessage = …

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 …

12
EntityTypeにはキー定義エラーがありません
コントローラ: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; using System.ComponentModel.DataAnnotations.Schema; namespace MvcApplication1.Controllers { public class studentsController : Controller { // // GET: /students/ public ActionResult details() { int id = 16; studentContext std = new studentContext(); student first = std.details.Single(m =&gt; m.RollNo == id); return …

5
C#エンティティフレームワーク:モデルオブジェクトで.Findと.Includeを組み合わせるにはどうすればよいですか?
私はmvcmusicstoreの練習チュートリアルをやっています。アルバムマネージャーの足場を作成するときに何かに気づきました(削除編集を追加)。 エレガントにコードを書きたいので、これを書くきれいな方法を探しています。 ちなみに私は店をより一般的にしています: アルバム=アイテム ジャンル=カテゴリ アーティスト=ブランド インデックスを取得する方法を次に示します(MVCによって生成されます)。 var items = db.Items.Include(i =&gt; i.Category).Include(i =&gt; i.Brand); 削除するアイテムを取得する方法は次のとおりです。 Item item = db.Items.Find(id); 1つ目は、すべてのアイテムを元に戻し、アイテムモデル内のカテゴリモデルとブランドモデルを設定します。2つ目は、カテゴリとブランドを入力しません。 検索を実行して内容を(好ましくは1行で)入力するために2つ目の方法を作成するにはどうすればよいですか...理論的には-次のようなものです。 Item item = db.Items.Find(id).Include(i =&gt; i.Category).Include(i =&gt; i.Brand);

3
EF 5 Code First Migrationsから完全なSQLスクリプトを生成する
Entity Framework 5 Code First Migrationsを使用して、初期(空の)状態から最新の移行までの完全なデータベーススクリプトを作成するにはどうすればよいですか? MSDN Blogのブログ投稿はこれを行うことを提案していますが、空のスクリプトを作成するようです: Update-Database -Script -SourceMigration: $InitialDatabase

6
LINQ To EntitiesはメソッドLastを認識しません。本当に?
このクエリでは: public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderBy(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.Last()); } これを機能させるには、これに切り替える必要がありました。 public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderByDescending(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.FirstOrDefault()); } p.First()最初のクエリをミラーリングするためにを使用することさえできませんでした。 なぜこのような堅牢なORMシステムに基本的な制限があるのですか?
144 c#  entity-framework  orm 


7
Entity Frameworkのデータベースを再作成するにはどうすればよいですか?
コードファーストエンティティフレームワークを使用して、ASP.Net MVC 5プロジェクトで悪い状態に陥っています。データが失われることは気にせず、新しく開始してデータベースを再作成し、Code-First移行の使用を開始できるようにしたいだけです。 現在、Update-Databaseを実行しようとすると例外がスローされるか、エラーメッセージが表示される状態になっています。また、ウェブサイトはデータベースに正しくアクセスできません。新しいプロジェクトを作成せずに、すべての移行をワイプしてデータベースを再作成し、ゼロから開始するにはどうすればよいですか?つまり、コードは残したいがデータベースは削除したいのです。 後で、デプロイメントデータベース(Azure上のSQL Server)も同期させたいと思います。繰り返しになりますが、すべてのデータを削除してもかまいません-機能させたいだけです。 クリーンな状態に戻すための手順を教えてください。とても有難い。

2
エンティティフレームワーク.Remove()と.DeleteObject()
次の2つの方法を使用すると、EFを使用してデータベースからアイテムを削除できます。 EntityCollection.Removeメソッド ObjectContext.DeleteObjectメソッド 1つ目はにEntityCollectionあり、2つ目はにありObjectContextます。 それぞれいつ使用する必要がありますか? 一方が他方よりも好まれますか? Remove()を返し、boolをDeleteObject()返しますvoid。

2
Entity Frameworkの非同期操作が完了するまでに10倍の時間がかかる
Entity Framework 6を​​使用してデータベースを処理しているMVCサイトがあり、すべてを非同期コントローラーとして実行し、データベースへの呼び出しを非同期対応として実行するように変更しています(例:ToListAsync())。 ToList()の代わりに) 私が抱えている問題は、クエリを非同期に変更するだけで信じられないほど遅くなることです。 次のコードは、データコンテキストから「アルバム」オブジェクトのコレクションを取得し、かなり単純なデータベース結合に変換されます。 // Get the albums var albums = await this.context.Albums .Where(x =&gt; x.Artist.ID == artist.ID) .ToListAsync(); 作成されたSQLは次のとおりです。 exec sp_executesql N'SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], [Extent1].[Title] AS [Title], [Extent1].[ReleaseDate] AS [ReleaseDate], [Extent1].[AccurateDay] AS [AccurateDay], [Extent1].[AccurateMonth] AS [AccurateMonth], [Extent1].[Type] AS [Type], [Extent1].[Tracks] …

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