C# 实体框架赢得';t在数据库中保存更改
当我尝试向数据库中添加项目时,在运行应用程序后,数据将不会在数据库中保留很长时间。我不知道为什么,连接很好,我已经检查过很多次了C# 实体框架赢得';t在数据库中保存更改,c#,wpf,database,entity-framework,C#,Wpf,Database,Entity Framework,当我尝试向数据库中添加项目时,在运行应用程序后,数据将不会在数据库中保留很长时间。我不知道为什么,连接很好,我已经检查过很多次了 private void InsertIncomeBtn_Click(object sender, RoutedEventArgs e) { float lf = (float)Convert.ToDouble(IncomeText.Text); MessageBox.Show(lf.ToString()); DateTime da
private void InsertIncomeBtn_Click(object sender, RoutedEventArgs e)
{
float lf = (float)Convert.ToDouble(IncomeText.Text);
MessageBox.Show(lf.ToString());
DateTime date = (DateTime)MovDatePick.SelectedDate;
Movments mv1 = new Movments();
mv1.Sum = lf;
mv1.Date = date.Date;
db.TotalAll.FirstOrDefault().CurrentSum += lf;
db.Movments.Add(mv1);
db.SaveChanges();
IncomeWin.Close();
MainWindow m = new MainWindow();
m.Show();
}
我正在使用VS2017社区并编写WPF应用程序
谢谢您的帮助。我假设您有一个SQL Server数据库,并且您的连接字符串很可能包含一个
AttachDbFileName=……
条目-正确吗
如果是这样的话:整个AttachDbFileName=方法是有缺陷的——最多!在Visual Studio中运行应用程序时,它将围绕.mdf
文件进行复制(从app\u Data
目录复制到输出目录-通常是\bin\debug
-应用程序运行的地方)和最有可能是,您的INSERT
工作正常-但您最后看到的是错误的.mdf文件
如果您想继续使用这种方法,请尝试在myConnection.Close()
调用上放置一个断点,然后使用SQL Server Mgmt Studio Express检查.mdf
文件,我几乎可以肯定您的数据在那里
我认为真正的解决办法是
YourDatabase
)Data Source=.\\SQLEXPRESS;Database=YourDatabase;Integrated Security=True
其他一切都和以前一样更多背景信息,请参见Aaron Bertrand的优秀博文。我假设您有一个SQL Server数据库,并且您的连接字符串很可能包含一个
AttachDbFileName=……
条目-正确吗
如果是这样的话:整个AttachDbFileName=方法是有缺陷的——最多!在Visual Studio中运行应用程序时,它将围绕.mdf
文件进行复制(从app\u Data
目录复制到输出目录-通常是\bin\debug
-应用程序运行的地方)和最有可能是,您的INSERT
工作正常-但您最后看到的是错误的.mdf文件
如果您想继续使用这种方法,请尝试在myConnection.Close()
调用上放置一个断点,然后使用SQL Server Mgmt Studio Express检查.mdf
文件,我几乎可以肯定您的数据在那里
我认为真正的解决办法是
YourDatabase
)Data Source=.\\SQLEXPRESS;Database=YourDatabase;Integrated Security=True
其他一切都和以前一样