[英]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.