C# Visual C Express。数据可以保存,但在我关闭Visual C之前
这是用于添加新项目的代码C# Visual C Express。数据可以保存,但在我关闭Visual C之前,c#,saving-data,C#,Saving Data,这是用于添加新项目的代码 private KrystalCafeDatabaseEntities kce = new KrystalCafeDatabaseEntities(); private Byte[] byteBLOBData; public AddItem() { InitializeComponent(); cmbCategory.DataSource = kce.tblItemTypes; cmb
private KrystalCafeDatabaseEntities kce = new KrystalCafeDatabaseEntities();
private Byte[] byteBLOBData;
public AddItem()
{
InitializeComponent();
cmbCategory.DataSource = kce.tblItemTypes;
cmbCategory.DisplayMember = "Name";
cmbCategory.ValueMember = "ItemType";
}
private void btnUpload_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
FileStream fsBLOBFile = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
byteBLOBData = new Byte[fsBLOBFile.Length];
fsBLOBFile.Read(byteBLOBData, 0, byteBLOBData.Length);
fsBLOBFile.Close();
MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
pbImage.Image = Image.FromStream(stmBLOBData);
}
}
private void btnSave_Click(object sender, EventArgs e)
{
tblItem Item = new tblItem();
Item.Name = txtName.Text;
Item.Price = decimal.Parse(txtPrice.Text);
Item.Image = byteBLOBData;
Item.ItemType = (int)cmbCategory.SelectedValue;
kce.AddTotblItems(Item);
kce.SaveChanges();
MessageBox.Show("Record Saved! :D");
}
}
}
程序正常运行,但数据只会存储一段时间,如果我关闭程序或编辑代码,我刚才添加的数据将丢失。一个可能的错误是KrystalCafeDatabaseEntities打开一个事务,您需要在调用SaveChanges后提交该事务。当程序仍在运行时,更改是否保留到数据库中?我们可以获得KrystalCafeDatabaseEntities的来源吗?否则很难说……SaveChanges是否通常在实体框架中提交事务?