无法保存对数据库的更改

时间:2016-01-05 13:39:27

标签: c# mysql database winforms visual-studio-2013

我正在尝试使用数据库执行Windows窗体应用程序。

我是数据库,我添加了实体框架。

这是我用来在数据库中添加数据的代码:

public void AddProductToDataBase()
    {
        try
        {
            DataBase _db = new DataBase();
            var item = new Products();
            item.Title = title.Text;
            item.Subtitile = subtitle.Text;
            item.Description = description.Text;
            item.Price = float.Parse(price.Text);
            _db.Products.Add(item);
            _db.SaveChanges();

            MessageBox.Show("Product successfully added!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
            title.Clear();
            subtitle.Clear();
            description.Clear();
            price.Clear();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

一切似乎都正常,没有错误信息和消息"产品已成功添加" apear,但是当我查看数据库时,什么都没有。

我之前搜索到此处发布,我发现visual studio正在复制数据库,如果你改变了#34;复制到输出目录"数据库的属性为"如果更新则复制"它应该正常工作,但事实并非如此,我对实体框架做了同样的改变,仍然相同,没有任何改变。

我可以在正确的数据库中添加数据吗?我还需要程序可移植。

谢谢!

编辑:这是DataBase.Contex.cs

namespace OlxSelenium
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;

    public partial class DataBase : DbContext
    {
        public DataBase()
            : base("name=DataBase")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

        public virtual DbSet<Photos> Photos { get; set; }
        public virtual DbSet<Products> Products { get; set; }
    }
}

1 个答案:

答案 0 :(得分:0)

试试这段代码。

try
{
using (DataBase context = new DataBase())
{            
       Products item = new Products();
       item.Title = title.Text;
       item.Subtitile = subtitle.Text;
       item.Description = description.Text;
       item.Price = float.Parse(price.Text);
       context.Products.Add(item);
       context.SaveChanges();

       MessageBox.Show("Product successfully added!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
       title.Clear();
       subtitle.Clear();
       description.Clear();
       price.Clear();
}

}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}