У меня проблема с удалением из базы данных Db4o. В настоящий момент я могу хранить новые объекты и отображать их в представлении datagrid. Но по какой-то причине я не могу удалить объекты снова. Вот Linq, который я использую.Удаление в базе данных Db4o с использованием Linq
public void DeleteStudent(int ssn)
{
var config = Db4oFactory.NewConfiguration();
using (var db = Db4oFactory.OpenFile(config, "StudentDB"))
{
var query = (from StudentDB x in db
where x.SSN == ssn
select x);
if (query != null)
{
db.Delete(query);
}
}
}
Я получаю объект, который хочу удалить с помощью ssn. Я попытался отладить и проверить, что это не null, а его нет. Я получаю правильный объект.
Вот часть GUI, которую я использую.
private void btnDeleteStudent_Click(object sender, EventArgs e)
{
int ssn = Convert.ToInt32(txtSSN.Text);
studentDB.DeleteStudent(ssn);
gridStudents.DataSource = studentDB.GetAllStudents();
ClearBoxes(this);
}
я получаю от SSN текстового поля и дать его в качестве параметра, когда я нажмите кнопку удаления. И после этого я обновляю gridview.
Надеюсь, что один из вас может помочь! Я новичок в Db4o, поэтому не знаю много об этом.
Я также попытался с db.Commit(); после удаления статута. –
Почему downvote? Его спросили хорошо, и он предоставил исходный код того, что он пытался. – Scottie