我正在努力将属性更改(实际上添加)到我的数据库中已经存在的对象。
在我的数据库中,我有Scenario对象,每个Scenario对象都与(一个或多个)SceneWriter对象链接。SceneWriter现在我想Scenario用给定的ScenarioID.
这是我尝试这样做的方法:
string filmID = comboBox1.SelectedValue.ToString();
Scenario newScenario = new Scenario();
foreach (Scenario scenario in scenarioes)
{
string thisID = scenario.filmID.ToString();
if (thisID.Equals(filmID))
{
try
{
// remove old scenario from DB
myDatabase.Scenario.Remove(scenario);
myDatabase.SaveChanges();
// add new scenario to DB, which now contains new scenewriter
newScenario = scenario;
scenario.SceneWriter.Add(newScenewriter); // this newScenewriter I fetched before
myDatabase.Scenario.Add(newScenario);
myDatabase.SaveChanges();
}
catch (Exception ec)
{
MessageBox.Show(ec.ToString());
}
}
}
但是,当我尝试从中删除此Scenario记录时,它给了我一个错误myDatabase,因为它与其他一些表链接。
所以我需要的是不删除任何记录,而是更改它(只需添加这个SceneWriter),最好是在里面myDatabase。