我有一個表Device
只有一列UID nvarchar(128)
這裏是我的實體:無法看到的SaveChanges()之後調用實體框架的變化在數據庫
[Table(Name="Device")]
public class Device
{
[Key]
public string UID { get; set; }
}
當我試圖插入實體和所有更改提交到數據庫沒問題。但是在數據庫中沒有添加新行。如果我嘗試用相同的UID重複此操作 - 我得到錯誤
違反PRIMARY KEY約束'PK_dbo.Devices'。不能在對象'dbo.Devices'中插入重複鍵。重複鍵值爲...
怎麼了?
編輯:
這裏是我的背景:
public class DeviceContext : BaseDbContext, IDbContext
{
public DbSet<Entity.Device> Device { get; set; }
public new IDbSet<T> Set<T>() where T : class
{
return base.Set<T>();
}
public int SaveChanges()
{
return base.SaveChanges();
}
public void Dispose()
{
base.Dispose();
}
}
失敗SaveChanges()
方法。 BaseDbContext
只是「connectionstring層」。
DeviceContext context = new DeviceContext();
context.Device.Add(new Device() { UID = id });
context.SaveChanges();
請顯示失敗的代碼 – 2013-03-15 07:39:49
ok - 你在哪裏使用'DeviceContext' - 你添加更多divices的代碼 – 2013-03-15 07:44:35
我已經更新了問題 – 2013-03-15 07:46:07