我正在努力将属性更改(实际上添加)到我的数据库中已经存在的对象。
在我的数据库中,我有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
。