[问题] 无法用Entity的SaveChanges写入数据库

楼主: gloomywind (看开了,就好过了)   2016-07-01 17:33:23
我的程式是visual studio2015,我先从新增项目中用服务架构数据库建了一个数据库,
然后新增一个ADO.NET实体资料模型,之后在winform中建立一个DataGirdView来呈现资料
,并且使用TEXTBOX跟BUTTON来建立新资料,当我按下建立资料的按钮以后,DataGirdView
中的资料有新增,但是关掉winform后再打开,原本新增的资料就不见了,可以帮我看一下
我是不是缺少了什么吗?
namespace TEST
{
public partial class Form1 : Form
{
phoneEntities1 db = new phoneEntities1();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var data = db.phone.Select(i=>i);
dataGridView1.DataSource = data.ToList();
db.SaveChanges();
}
private void button1_Click(object sender, EventArgs e)
{
var dt = new phone();
using (var db = new phoneEntities1())
{
dt.Id = int.Parse(textBox1.Text);
dt.Name = textBox2.Text;
dt.Phone1 = textBox3.Text;
db.phone.Add(dt);
db.SaveChanges();
}
Form1_Load(sender, e);
}
}
}
小弟这两个礼拜才开始学写程式,有些东西写得怪怪的话请不要砲我,很多东西还在摸索
作者: testPtt (测试)   2016-07-01 18:47:00
通常就是没有写insert into所以重开就不见啦
楼主: gloomywind (看开了,就好过了)   2016-07-01 21:34:00
insert into不是LinQ的写法吗?我发现好像是我一按执行 数据库就会断线...
作者: checkIO (chec)   2016-07-01 23:35:00
没有写进DB吧
作者: Litfal (Litfal)   2016-07-01 23:47:00
class field的db去掉,你这样db有点混淆(虽然不是错这个)要用的时候再用using new去建button1_Click里面的SaveChanges后面设个中断点,看一下IntelliTrace里面有没有错误或DB事件
作者: chatnoir (对不起)   2016-07-01 23:54:00
我觉得是你的dt的内容有错误,导致savechanges出错但你的db.phone.Add的确有把dt加入,所以会感觉正常显示
作者: maze0417 (率性之谓道)   2016-07-06 11:09:00
你的Id 是不是DB自动产生的流水号 index ?

Links booklink

Contact Us: admin [ a t ] ucptt.com