2011-02-04 57 views
1

我正在使用AttachObjectGraphSaveChanges在我的sql數據庫中保存記錄。當我編輯我想保存的對象時,一切正常。但是,當我創建對象的新實例並嘗試保存它時,我在AttachObjectGraph上得到一個Object reference not set to an instance of an object.異常。我確信我給對象的所有屬性賦值並且不留下任何空白或空值。發生什麼事?幫助使用AttachObjectGraph

示例代碼:

class SimpleOBJ 
{ 
    public string userName; 
    public string password; 
} 

public void insertOBJ(SimpleOBJ S) 
{ 
    if (string.IsNullOrEmpty(S.password)) 
     S.password = "test"; 
    db.AttachObjectGraph(S); 
    db.SaveChanges(); 
} 
+0

你能發佈你的代碼嗎? 「AttachObjectGraph」定義在哪裏? – Oded 2011-02-04 09:04:01

回答

1

的對象是比我張貼,它包含了與其他實體的關係更加複雜。我通過wcf傳遞對象來插入OBJ。當我更改一個屬於insertOBJ內部關係的屬性(類似於S.password,但將密碼視爲與另一個實體的關係)時發生異常。因此該對象已經通過wcf,然後更改關係屬性,然後調用attachobjectgraph,這個attachobjectgraph將該對象作爲從wcf傳遞的對象,而不是在insertOBJ函數中更改。因此如果此屬性爲null,則發生異常。
因此,解決方案是在將網頁傳遞給WCF之前,在網頁中更改此屬性。