C# Entity Framework 4.1未向SQL Server Express数据库添加任何行
使用实体框架4.1和SQL Server ExpressC# Entity Framework 4.1未向SQL Server Express数据库添加任何行,c#,wpf,entity-framework,sql-server-express,C#,Wpf,Entity Framework,Sql Server Express,使用实体框架4.1和SQL Server Express.mdf数据库 出于测试目的,我尝试在WPF应用程序中使用实体模型对SQLServerExpress数据库执行CRUD操作 我对这个概念还不熟悉,我遵循了视频教程并根据它进行了编码 我创建了单个非常简单表的实体模型。我在cs文件中编写了简单代码,使用以下代码向数据库添加一行 testEntities db = new testEntities(); TestTable tb = new TestTable(); tb.Name = txtN
.mdf
数据库
出于测试目的,我尝试在WPF应用程序中使用实体模型对SQLServerExpress数据库执行CRUD操作
我对这个概念还不熟悉,我遵循了视频教程并根据它进行了编码
我创建了单个非常简单表的实体模型。我在cs文件中编写了简单代码,使用以下代码向数据库添加一行
testEntities db = new testEntities();
TestTable tb = new TestTable();
tb.Name = txtName.Text;
tb.Email = txtMail.Text;
db.TestTables.AddObject(tb);
db.SaveChanges();
但是如果我回去检查数据库,没有添加任何数据。请告诉我这里出了什么问题
这是我的连接字符串
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="testEntities"
connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\test.mdf;integrated security=True;connect timeout=30;user instance=True;multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
整个用户实例和AttachDbFileName=方法都有缺陷-最多!Visual Studio将围绕.mdf
文件(从数据目录
复制到正在运行的应用程序的输出目录)进行复制,并且最有可能的情况是,您的插入
工作正常-但您最后看到的是错误的.mdf
文件
如果您想坚持使用这种方法,请尝试在.SaveChanges()
调用上放置一个断点-然后使用SQL Server Mgmt Studio Express检查正在运行的应用程序目录中的.mdf
文件-我几乎可以肯定您的数据在那里
我认为真正的解决办法是
TestDatabase
)Data Source=.\\SQLEXPRESS;Database=TestDatabase;Integrated Security=True
其他一切都和以前一样@marc_s我更新了问题并添加了连接字符串..我哪里出错了?有错误消息吗?您是否尝试过一步一步地调试应用程序以查看发生了什么?调试器是你最好的朋友,学会使用它。您显示的代码看起来不错,我敢打赌其他地方也有问题(比如您甚至忘记连接处理程序和类似的东西)。@walthereven我没有收到任何错误。我试过了,想听听你的建议。一旦我同意这个分析,我会从头开始。我讨厌在SSE中附加MDF,它会导致许多奇怪的问题。我将在SSMS中创建SSEDB,就像在完整的Sql Server中一样,并使用该格式的连接字符串,而不是使用.mdf。那会让你少头疼。