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

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


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

4
Entity Framework 5に子オブジェクトの子オブジェクトを含める方法
とを使用Entity Framework 5 code firstしていASP.NET MVC 3ます。 子オブジェクトの子オブジェクトを作成するのに苦労しています。以下は私のクラスです。 アプリケーションクラス。 public class Application { // Partial list of properties public virtual ICollection<Child> Children { get; set; } } 子クラス: public class Child { // Partial list of properties public int ChildRelationshipTypeId { get; set; } public virtual ChildRelationshipType ChildRelationshipType { get; …


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<Event> Events { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Event>().ToTable("Events"); } } 初期化子は、今年か来年のいずれかで賢明な値にモデルの日付を設定します。 ただし、イニシャライザを実行すると、次の場所でこのエラーが発生しcontext.SaveChanges()ます。 datetime2データ型をdatetimeデータ型に変換すると、値が範囲外になりました。ステートメントは終了されました。 すべてがとても簡単なため、なぜこれが起こっているのか理解できません。編集するedmxファイルがないため、修正方法もわかりません。 何か案は?

6
Symfony2で現在のユーザーを表すエンティティを取得するにはどうすればよいですか?
Symfonyのセキュリティ設定を使用しています。すべてが正常に動作しますが、1つの重要なことを行う方法がわかりません。 小枝で、私は現在のユーザーの情報に到達することができます: Welcome, {{ app.user.username }} または類似 コントローラでこれと同じ情報にアクセスするにはどうすればよいですか?具体的には、現在のユーザーエンティティを取得して、別のエンティティに関係的に格納できるようにします(1対1マッピング)。 私はそれがなることを本当に望んでいました $this->get('security.context')->getToken()->getUser() しかし、それはうまくいきません。それは私にタイプのクラスを与えます Symfony\Component\Security\Core\User\User そして私はタイプの1つが欲しい Acme\AuctionBundle\Entity\User これは私の実体です...

2
Entity Frameworkの3つのテーブルの結合
3つのテーブルを結合しようとしていますが、方法を理解できません... 2つのテーブルの結合を完了しました var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); TID PK を含むtbl_Titleテーブルを含め、タイトルフィールドを取得したいと思います。 どうもありがとう

9
エンティティフレームワークとSQL Serverビュー
私が話す自由がないいくつかの理由により、Sql Server 2005データベースのビューを次のように定義しています。 CREATE VIEW [dbo].[MeterProvingStatisticsPoint] AS SELECT CAST(0 AS BIGINT) AS 'RowNumber', CAST(0 AS BIGINT) AS 'ProverTicketId', CAST(0 AS INT) AS 'ReportNumber', GETDATE() AS 'CompletedDateTime', CAST(1.1 AS float) AS 'MeterFactor', CAST(1.1 AS float) AS 'Density', CAST(1.1 AS float) AS 'FlowRate', CAST(1.1 AS float) AS 'Average', CAST(1.1 AS float) AS …

9
使用しているEntity Frameworkのバージョンを確認しますか?
2つのバージョン1と2があると思いますか?また、バージョン2はEntity Framework 4.0と呼ばれていますか? アプリケーションで使用されているバージョンを確認するにはどうすればよいですか? これは私のweb.configにありますが、バージョン2を使用しているということですか? <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

18
値をnullにすることはできません。パラメータ名:ソース
これはおそらく私が長い間解決に時間を費やしてきた時間の最大の無駄の問題です。 var db = new hublisherEntities(); establishment_brands est = new establishment_brands(); est.brand_id = 1; est.establishment_id = 1; est.price = collection["price"]; est.size = collection["size"]; db.establishment_brands.Add(est); db.SaveChanges(); これは私にエラーを与えます 値をnullにすることはできません。パラメータ名:ソース のスタックトレース [ArgumentNullException:値をnullにすることはできません。パラメーター名:ソース] System.Linq.Enumerable.Any(IEnumerable 1 source, Func2述語)+4083335 System.Data.Entity.Internal.InternalContext.WrapUpdateException(UpdateException updateException)+87 System.Data.Entity.Internal.InternalContext.SaveChanges()+ 193 System.Data.Entity.Internal.LazyInternalContext.SaveChanges() + 33 System.Data.Entity.DbContext.SaveChanges()+20 ... ... テーブルにエンティティを追加したいだけです。ORMはEFです。

6
EFコードファースト:nugetパッケージコンソールから「EntityValidationErrors」プロパティを表示するにはどうすればよいですか?
私はこれで途方に暮れています: エンティティフレームワーク(4.1.3)のコードを最初に使用するためのクラスを定義しました。シードを始めるまでは、すべてが順調でした(テーブルを作成していたなど)。 今私が行うとき Add-Migration "remigrate" ; Update-Database; パッケージコンソールで「1つ以上のエンティティの検証に失敗しました。詳細については、「EntityValidationErrors」プロパティを参照してください。」というエラーが表示されます。 Seed()メソッドにブレークポイントがありますが、プロジェクトが実行されていないときにコンソールでこれを実行しているため、詳細に到達する方法については無知です(PS-スレッドの検証が失敗したことを確認しましたEntity Frameworkを使用してSQL Serverデータベースへの変更を保存している間に1つ以上のエンティティが表示され、プロパティの表示方法が示されます。) Seed()メソッドに問題があることは知っています。メソッド呼び出しの直後にreturnを置くと、エラーがなくなるためです。では、検証エラーを確認できるようにブレークポイントを設定するにはどうすればよいですか?ちょっと負けました。または、nugetコンソールでそれをトレースする他の方法はありますか?

19
Entity Framework Code Firstの一意の制約
質問 Fluent構文または属性を使用して、プロパティに一意の制約を定義することは可能ですか?そうでない場合、回避策は何ですか? 主キーを持つユーザークラスがありますが、電子メールアドレスも一意であることを確認したいと思います。データベースを直接編集せずにこれは可能ですか? 解決策(マットの回答に基づく) public class MyContext : DbContext { public DbSet<User> Users { get; set; } public override int SaveChanges() { foreach (var item in ChangeTracker.Entries<IModel>()) item.Entity.Modified = DateTime.Now; return base.SaveChanges(); } public class Initializer : IDatabaseInitializer<MyContext> { public void InitializeDatabase(MyContext context) { if (context.Database.Exists() && !context.Database.CompatibleWithModel(false)) context.Database.Delete(); if …

6
DefiningQueryはあるがInsertFunction要素がない…err
このことは私を夢中にさせており、エラーは私にはまったく無意味です: EntitySet 'TableB'は、DefiningQueryがあり、現在の操作をサポートする要素が要素に存在しないため、更新できません。 私のテーブルは次のように配置されています: テーブルA int idA(ID、主キー) ... テーブルB int idA(TableA.idAのFK) int val TableBには、SQLサーバーで定義された主キーがありません。Entity Frameworkはテーブルと関連付けをインポートし、両方のフィールドをキーとして設定しました。しかし、テーブルに挿入しようとすると、そのエラーが出力されます! どうしましたか?? 編集: アレックスによって提案されたように、解決策はこれでした: edmxファイルを右クリックし、[アプリケーションから開く]を選択します。XMLエディター edmx:StorageModels要素でエンティティを見つけます DefiningQueryを完全に削除します store:Schema = "dbo"の名前をSchema = "dbo"に変更します(それ以外の場合、コードは名前が無効であることを示すエラーを生成します) store:Nameプロパティを削除します 両方の列がキーの一部であることは私には問題なかったので、私はキーをそのまま残しました。

26
特定のVSプロジェクトでのみパッケージマネージャーコンソールのEnable-Migrations CommandNotFoundException
新しいプロジェクトで「Enable-Migrations」コマンドを実行しようとすると、次のメッセージが表示されました。 PM> Enable-Migrations The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verif y that the path is correct and try again. At line:1 char:18 + Enable-Migrations <<<< + …

7
「ObjectContextインスタンスは破棄され、接続を必要とする操作には使用できなくなりました」を解決するInvalidOperationException
GridViewEntity Frameworkmを使用してデータを入力しようとしていますが、毎回次のエラーが発生します。 「オブジェクト 'COSIS_DAL.MemberLoan'のプロパティアクセサー 'LoanProduct'が次の例外をスローしました:ObjectContextインスタンスが破棄され、接続を必要とする操作に使用できなくなりました。」 私のコードは: public List<MemberLoan> GetAllMembersForLoan(string keyword) { using (CosisEntities db = new CosisEntities()) { IQueryable<MemberLoan> query = db.MemberLoans.OrderByDescending(m => m.LoanDate); if (!string.IsNullOrEmpty(keyword)) { keyword = keyword.ToLower(); query = query.Where(m => m.LoanProviderCode.Contains(keyword) || m.MemNo.Contains(keyword) || (!string.IsNullOrEmpty(m.LoanProduct.LoanProductName) && m.LoanProduct.LoanProductName.ToLower().Contains(keyword)) || m.Membership.MemName.Contains(keyword) || m.GeneralMasterInformation.Description.Contains(keyword) ); } return query.ToList(); } …

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