タグ付けされた質問 「ef-code-first」

EFコードファーストは、モデルファーストまたはDBファーストではなく、POCOクラスでMicrosoftのエンティティフレームワークを使用する方法です。

10
コード優先vsモデル/データベース優先[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 12か月前に閉鎖。 Entity Framework 4.1をモデル/データベース優先でEDMXダイアグラムよりコードファーストで使用する場合の長所と短所は何ですか? EF 4.1を使用してデータアクセスレイヤーを構築するためのすべてのアプローチを完全に理解しようとしています。リポジトリパターンとを使用していますIoC。 コードファーストアプローチを使用できることを知っModelBuilderています。エンティティとコンテキストを手動で定義し、スキーマを微調整するために使用します。 EDMX図を作成し、T4テンプレートを使用して同じPOCOクラスを生成するコード生成ステップを選択することもできます。 どちらの場合も、私POCOはORM不可知論的であり、から派生するコンテキストを持つオブジェクトになりますDbContext。 Enterprise Managerでデータベースを設計し、モデルをすばやく同期し、デザイナーを使用して微調整できるので、データベースファーストが最も魅力的なようです。 では、これら2つのアプローチの違いは何ですか?それは単にVS2010対Enterprise Managerの好みについてですか?

2
Entity Framework 4.1 Code Firstのクラスプロパティを無視する
私の理解では、この[NotMapped]属性は現在CTPにあるEF 5まで利用できないため、本番環境では使用できません。 EF 4.1のプロパティを無視するようにマークするにはどうすればよいですか? 更新:私は何か他の奇妙なことに気づきました。私は[NotMapped]属性を機能させましたが、何らかの理由で、EF 4.1はでpublic bool Disposed { get; private set; }マークされていても、データベースにDisposedという名前の列を作成します[NotMapped]。クラスIDisposeableはもちろん実装しますが、それがどのように重要であるかはわかりません。何かご意見は?


16
FOREIGN KEY制約を導入すると、サイクルまたは複数のカスケードパスが発生する可能性があります。なぜですか?
私はしばらくこれに取り組んできましたが、何が起こっているのかよくわかりません。サイド(通常は2)を含むカードエンティティがあり、カードとサイドの両方にステージがあります。EF Codefirst移行を使用していますが、このエラーで移行が失敗します。 テーブル 'Sides'にFOREIGN KEY制約 'FK_dbo.Sides_dbo.Cards_CardId'を導入すると、サイクルまたは複数のカスケードパスが発生する可能性があります。ON DELETE NO ACTIONまたはON UPDATE NO ACTIONを指定するか、他のFOREIGN KEY制約を変更します。 これが私のカードエンティティです: public class Card { public Card() { Sides = new Collection<Side>(); Stage = Stage.ONE; } [Key] [Required] public virtual int CardId { get; set; } [Required] public virtual Stage Stage { get; set; } [Required] [ForeignKey("CardId")] …

9
Entity Frameworkの複数の列に対する一意のキー制約
OverаэтотвопросестьответынаStack Overflowнарусском:УникальныйиндекспонесколькимстобцамвEntity Framework 私は最初にEntity Framework 5.0コードを使用しています。 public class Entity { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public string EntityId { get; set;} public int FirstColumn { get; set;} public int SecondColumn { get; set;} } 私は間の組み合わせを作りたいFirstColumnとSecondColumnユニークとして。 例: Id FirstColumn SecondColumn 1 1 1 = OK 2 2 1 = OK 3 3 3 = …


2
Entity Framework 4.1 POCO Code Firstでは、仮想キーワードはどのような効果をもたらしますか?
んvirtualEFコードファーストでのプロパティに使用された場合のキーワードは効果があります?。誰かがさまざまな状況でのすべての影響を説明できますか? たとえば、遅延読み込みを制御できることはわかっています。ICollection/ one-to-many関係プロパティでvirtualキーワードを使用すると、デフォルトで遅延読み込みされますが、virtualキーワードを省略した場合は、熱心にロードされます。 virtualPOCOエンティティを使用したEFで、キーワードは他にどのような影響を与える可能性がありますか?virtualすべてのプロパティで使用するようにデフォルトにするか、デフォルトで使用しないようにする必要がありますか?

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


6
DbValidationExceptionから正確なエラータイプを取得する
EF 4.1のDatabaseInitializer()でモデルを初期化しているときに、この厄介なエラーが発生するという状況になっている"Validation failed for one or more entities. See 'EntityValidationErrors' property for more details."ので、このEntityValidationErrorsに移動すると、{System.Data.Entity.Validation.DbEntityValidationResult}初期化できなかったフィールドに関する情報がまったくないフィールドがあります。 。このエラーに関する詳細情報を取得する方法はありますか? 物事を片付けるには: 文字列の長さの問題を解決する方法を知っています。私が求めているのは、モデルを壊している正確なフィールド名を取得する方法です。

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 …



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 …

7
コードファーストのEntity Framework移行コードをデバッグする
私はWebサイトで最初にEntity Frameworkコードを使用していますが、移行コードをデバッグする方法があるかどうか疑問に思っています。ご存知のように、ブレークポイントの設定などです。 パッケージマネージャーコンソールを使用して、を使用してデータベースを更新していますUpdate-Database。 ありがとう

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