[英]Can't update rows in my database using Entity Framework…?
好吧,这真的很奇怪。 我用一个表Customer创建了一个简单的数据库,该表有一个Name列。 从数据库中,我自动生成了一个ADO.NET实体数据模型,并且我正在尝试向其添加新客户,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Program
{
static void Main()
{
Database1Entities db = new Database1Entities();
Customer c = new Customer();
c.Name = "Harry";
db.AddToCustomer(c);
db.SaveChanges();
}
}
}
但是,它不会将客户“ Harry”保留到数据库中! 我一直挠挠了一段时间,想知道为什么这么简单的操作不起作用。 到底是什么问题!?
EF要求您对许多操作都有唯一的索引。
尝试将标识字段(主键)添加到表中。 删除并重新创建模型,然后重试。
编辑:
您似乎正在通过控制台应用程序运行它。
编辑2:
接下来的尝试:
确保数据库文件的“复制到输出目录”属性未设置为“始终复制”。 如果是这样,则每次重新构建应用程序时,数据库都可能被原始副本所破坏。
请参阅: 实体框架未将数据刷新到数据库
将db
放在using
语句中,以确保在进程退出之前干净地关闭连接/事务。
好,这是一个远景。 您确定连接字符串指向正确的位置吗? 连接正常吗?
您可以通过使用SQL Server Management Studio将一些记录添加到测试数据库中进行验证,然后执行类似的操作
foreach (Customer c in db.Customers)
{
Console.WriteLine(c.Name);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.