2011-02-04 6 views
1

AttachObjectGraphSaveChanges을 사용하여 SQL 데이터베이스에 레코드를 저장합니다. 저장할 개체를 편집하면 모든 것이 잘 동작합니다. 그러나 개체의 새 인스턴스를 만들고 저장할 때 AttachObjectGraph에 Object reference not set to an instance of an object. 예외가 발생합니다. 나는 객체의 모든 속성에 값을 부여하고 공백이나 null을 남기지 않을 것이라고 확신합니다. 무슨 일 이니?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

답변

1

오브젝트는 내가 그것을 다른 기관과의 관계를 포함, 게시보다 더 복잡하다. 개체를 삽입하여 wcf를 insertOBJ에 전달하고있었습니다. 예외는 insertOBJ 내부의 관계 (S.password와 유사하지만 다른 엔티티와의 관계로 암호를 고려해야 함) 인 속성을 변경했을 때 발생했습니다. 오브젝트가 이미 wcf를 통해 전달 된 후 관계 특성이 변경된 후 attachobjectgraph가 호출되면이 attachobjectgraph는 wcf에서 전달 된 오브젝트를 가져 오며 insertOBJ 함수에서 변경되지는 않습니다. 따라서이 속성이 null 인 경우 예외가 발생합니다.
따라서 솔루션은 WCF에 전달하기 전에 웹 페이지에서이 속성을 변경하는 것입니다.

관련 문제