SQL Server で Entity Framework を使用するのは初めてで、データベースにレコードを挿入するのに問題があります。問題は、主キーと外部キーにリンクされている 3 つのテーブルにあり、過去に外部キーを持つデータベースを使用したことがありません。
今のところ、いくつかのテストデータをデータベースに取得しようとしていますが、エラーが発生し続けます:
INSERT ステートメントが FOREIGN KEY と競合しています
データベースへの挿入を開始するのを手伝ってくれる人はいますか? 私が使用しているコードは次のとおりです。
private void button3_Click(object sender, EventArgs e)
{
TaxiDBEntities db = new TaxiDBEntities(); //connection to database
DriverStatus newDriverStatus = new DriverStatus(); // driver status object
/*populate the new driver object*/
//newDriverStatus.DriverID = Convert.ToInt32(driverComboBox.Text);
//newDriverStatus.Status = statusTextBox.Text;
//newDriverStatus.Area = areaTextBox.Text;
Driver driver = new Driver();
int driverIDInt = Convert.ToInt32(driverComboBox.Text);
//driver = db.Drivers.SingleOrDefault(p => p.DriverId == driverIDInt);
//if (driver == null)
//{
driver.DriverId = driverIDInt;
driver.Fname = "test";
driver.Lname = "test";
//}
db.DriverStatus.AddObject(newDriverStatus); // add driver object to entity model
DriverLog driverLog = new DriverLog();
driverLog.driverLogID = driverIDInt;
driverLog.DriverID = driverIDInt;
driverLog.date = DateTime.Now;
db.DriverLog.AddObject(driverLog);
DriverStatus driverStatus = new DriverStatus();
driverStatus.DriverID = driverIDInt;
driverStatus.Status = "1";
driverStatus.Area = "1";
db.DriverStatus.AddObject(driverStatus);
try
{
db.SaveChanges();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}