1

私が取り組んでいる webapp のエンティティ フレームワークを使用しています。Web アプリは会場を追跡します。各会場では、さまざまな種類のイベントを開催できます。さまざまなタイプのイベント タイプ (EventTypes) をすべて含むテーブルと、各会場で開催できるイベント (VenueEventTypes) を追跡する別のテーブルがあります。新しい会場を追加するときに、EventType プロパティを含む新しい VenueEventTypes コレクションを作成します。データベースにアクセスしてイベント タイプを見つけ、それを各 VenueEventTypes に追加します。問題は、会場を保存するとすべてが正常に作成されますが、EventTypes のデータベースに空のレコードが追加されますが、VenueEventType 外部キーは有効なイベント タイプを指しており、新しく作成された空のレコードではありません。ここにいくつかのコードがあります:

 public void addVenue(VEN_Venues venue)
    {
        using (var db = new VenueEntities())
        {
            var parish = from dbParish in db.VEN_Parishes
                         where dbParish.ParishID == venue.ParishID
                         select dbParish;

            venue.VEN_Parishes = parish.First();

            venue = this.processEventTypes(venue, db);
            db.VEN_Venues.AddObject(venue);
            db.SaveChanges();
        }
    }



    private VEN_Venues processEventTypes(VEN_Venues venue, VenueEntities db)
    {
        foreach (VEN_VenueEventTypes eventType in venue.VEN_VenueEventTypes)
        {
            eventType.VEN_EventTypes = new EventTypeFacade().findEventTypes(eventType.VEN_EventTypes, db);
        }
        return venue;
    }

誰かが私にエラーを指摘してもらえますか?

ありがとう!

4

1 に答える 1