2012-12-23 16 views
0

我想爲我添加的對象搜索一個實體集 - 但它找不到對象爲什麼DbContext FirstOrDefault忽略已添加的實體?

當我使用相同的entitytypename多次調用此proc時,它總是添加一個新對象。爲什麼?

private EntityRegister GetEntityRegister(string entityTypeName) 
    { 
     var er = Db.EntityRegisters.FirstOrDefault(e => e.Name == entityTypeName); 
     if (er == null) 
     { 
      er = new EntityRegister() 

      { 
       Name = entityTypeName 

      }; 
      Db.EntityRegisters.Add(er); 


     } 
     return er; 
    } 
+0

您是否保存更改?如果您沒有保存更改,則FirstOrDefault轉到數據庫,新添加的實體不在數據庫中,因此FirstOrDefault返回null。 – Pawel

+0

謝謝帕維爾 - 這就是答案 –

回答

2

您是否保存更改?如果您沒有保存更改,則FirstOrDefault轉到數據庫,新添加的實體不在數據庫中,因此FirstOrDefault返回null。