【发布时间】:2010-12-12 19:46:37
【问题描述】:
我正在使用实体框架。我可以从 SQL Server 2008 读取数据,但无法保存数据。这是我的连接字符串。我在数据库上手动运行了 Insert 语句。有用。但我无法从代码中插入。
<add name="TestEntities" connectionString="metadata=res://*/Models.TestDB.csdl|res://*/Models.TestDB.ssdl|res://*/Models.TestDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=TESTDEV;Initial Catalog=AttachDbFilenameC:\test\TestDB.mdf;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
using (TestEntities db1 = new TestEntities())
{
Order O = new Order();
O.OrderTypeID = 1;
O.UserID = 29210;
db1.AddToOrderss(O);
db1.SaveChanges();
}
【问题讨论】:
-
你得到什么异常/错误?一种可能性 - 您连接到数据库的帐户是否具有数据写入权限?
-
是的,我检查了权限。我授予了所有权限。
-
好的 - 那么你有例外吗?你能发帖吗?这应该为问题提供一些线索。实体框架异常通常很有帮助。
-
嗯,这很奇怪......那有点像在黑暗中拍摄......你没有在你的 TestEntities 类中关闭 ChangeTracking 吗? blogs.microsoft.co.il/blogs/gilf/archive/2009/02/20/… ...否则我会从头开始使用新模型,看看您是否可以进行更改(即从数据库生成新的 EDMX)。尝试确定是实体框架问题还是数据库/ADO.NET 问题。
-
您是否尝试打开 SQL Server Profiler 以确保您的服务器上实际执行了一条语句?
标签: sql entity-framework sql-server-2008