Spróbowałem zrobić to samom tylko w Entity, poniżej kod:
public partial class Form1 : Form
{
AdresyEntities bazaDanychAdresy;
bool daneZmienione;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
bazaDanychAdresy = new AdresyEntities();
bazaDanychAdresy.Klients.Load();
dataGridView1.DataSource = bazaDanychAdresy.Klients.Local.ToBindingList<Klient>();
daneZmienione = false;
}
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
daneZmienione = true;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!daneZmienione) return;
switch (MessageBox.Show("Czy zapisać zmiany do bazy danych?", this.Text,
MessageBoxButtons.YesNoCancel))
{
case DialogResult.Cancel:
e.Cancel = true;
break;
case DialogResult.Yes:
try
{
this.Validate();
bazaDanychAdresy.SaveChanges();
bazaDanychAdresy.Dispose();
}
catch (Exception exc)
{
MessageBox.Show("Zapisanie danych nie powiodło się ("+exc.Message+")");
}
break;
case DialogResult.No:
break;
}
}
}
Wszystko niby ładnie działa ale nadal nie zapisuje danych w bazie.