我正在爲一個小型項目使用實體框架v4。通常我使用NHibernate。我的問題是我無意中添加了一個代碼,該代碼添加了一個已經保存到數據庫上下文集合的對象,並且當我執行SaveChanges()時,EF製作了該對象的副本,併爲其提供了一個新的主鍵。實體框架添加現有項目導致克隆
雖然這很有用,但它不是我想要的。有沒有辦法關閉該功能,而是拋出異常?
UPDATE:CODE現在包括
public class CcUser
{
public int Id { get; set; }
[StringLength(50)]
public string TrackingId { get; set; }
[StringLength(50)]
public string MembershipGuid { get; set; }
public bool CookiesConfirmed { get; set; }
[StringLength(200)]
public string Email { get; set; }
public DateTime Modified { get; set; }
}
public class MyDbContext : DbContext
{
public DbSet<CcUser> Users { get; set; }
}
MyDbContext db = new MyDbContext();
var ccUser = db.Users.FirstOrDefault(u => u.TrackingId == id);
ccUser.Modified = DateTime.UtcNow;
db.Users.Add(ccUser);
db.SaveChanges();
你可以顯示代碼引起的問題? – 2010-11-18 00:16:04
添加代碼,謝謝。 – 2010-11-18 17:09:13