У меня проблема с этим кодом:
public partial class KnihovnyForm : Form
{
DatabazeEntities db;
public KnihovnyForm()
{
InitializeComponent();
db = new DatabazeEntities();
knihovnyListBox.DataSource = db.Knihovny;
knihovnyListBox.DisplayMember = "Nazev";
}
protected override void OnFormClosed(FormClosedEventArgs e)
{
base.OnFormClosed(e);
db.Dispose();
}
private void novaButton_Click(object sender, EventArgs e)
{
string text = "";
if (InputForm.ShowDialog("Název nové knihovny", ref text) == DialogResult.OK)
{
Knihovna n = new Knihovna() { Nazev = text };
db.AddToKnihovny(n);
db.SaveChanges();
CurrencyManager cm = (CurrencyManager)BindingContext[db.Knihovny];
cm.Refresh();
}
}
}
Когда я добавляю новый элемент в базу данных, я хочу показать его в списке.Но похоже, что Entity Framework не обновляет контекст или что-то в этом роде.Если я закрываю эту форму и открываю ее снова, все элементы (включая новую) отображаются правильно.Как я могу показать все элементы сразу после вставки?
Извините за мой английский и некоторые чешские слова в коде.(Словарь: Книховный -> Книжный шкаф, Назев -> Имя)