私のアプリケーションでは、AppointmentsとAppointmentTypesの間に多対多の結合があります。データベースが作成されると、AppointmentTypesAppointmentsというテーブルが結合テーブルとして作成されます。Entity Frameworkコードの最初の多対多の作成を試みる
複数の予定タイプを持つ新しい予定を作成して保存すると、参加テーブルが正しく読み込まれます。
ただし、予定の種類を変更せずに予定を編集して再度保存すると、アプリケーションは結合テーブル(AppointmentTypesAppointments)に重複したエントリを作成しようとします。
これらの重複する行を作成しようとするアプリケーションの停止方法を教えてください。
// appointments are fetched as a group...
using (var context = new SchedulerContext())
{
//return GetAll();
IQueryable<Appointment> queryable = context.Appointments;
// check if any records exist
if (queryable.Count() == 0)
{
MessageBox.Show(@"No Appointment details found within the database");
}
return queryable.ToList();
}
//-----------------------------------------
// user then edits a single appointment and it is saved as below....
using (var context = new SchedulerContext())
{
try
{
var originalEntity = context.Appointments.Where(x => x.Id == id).FirstOrDefault();
context.Entry(originalEntity).CurrentValues.SetValues(appointment);
context.SaveChanges();
return SuccessResult();
}
catch
{
return OtherFailResult(id);
}
}
この投稿は非常に不明です。説明し、保存メソッドとフェッチメソッドのコードを追加してください。 –