私が取り組んでいる 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;
}
誰かが私にエラーを指摘してもらえますか?
ありがとう!