1

我已經爲我的基本窗口寫了一個通用的存儲庫,它有問題。 讓更具體,有一個名爲單位有點POCO類如下:實體框架4.1插入錯誤

public class Unit : BaseEntity 
    { 
     public string Name { get; set; } 

     private ICollection<Good> _goods; 
     public virtual ICollection<Good> Goods 
     { 
      get 
      { 
       if(_goods==null) 
       { 
        return new List<Good>(); 
       } 
       return _goods; 
      } 
      set { _goods = value; } 
     } 
    } 

這是從基實體類繼承的:

public class BaseEntity 
    { 

     public int Id { get; set; } 
     public override string ToString() 
     { 
      return Id.ToString(); 
     } 

    } 

,這是通用的存儲庫的我添加欄目類:

public void Add(TEntity entity) 
     { 
      if (entity == null) return; 
      if (Context.Entry(entity).State == EntityState.Detached) 
      { 
       Context.Set<TEntity>().Attach(entity); 
      } 
      Context.Set<TEntity>().Add(entity); 
      Context.SaveChanges(); 

     } 

前添加一個新的記錄,最大的id是從數據庫中取出,並放置在IdTextBox,並將它們添加基本形式的方法被調用它調用aforementi oned添加基礎倉庫的方法。這裏是問題,我得到這個錯誤,「屬性'Id'是對象的關鍵信息的一部分,不能修改。」 還有一個映射器類,它將每個屬性映射到其相應的控件,它的工作很好。 我的問題是什麼?

在此先感謝。

回答

0

我發現這個問題是由於自動檢測變化的可變性而導致的。