2013-12-11 3 views
0

내 솔루션을 빌드 할 때 컨트롤러에 문제가 발생합니다. 컨트롤러, 모델 및 뷰를 모두 설계했지만 컨트롤러가 내 양식에 입력 한 데이터를 실제 로컬 SQL Server 데이터베이스에 제출하지 못했습니다.Entity Framework 개체에 정의가 없습니다.

다음은 내 문제 의 스크린 샷 AddObject 및 ObjectStateManager가 문제를 일으키는 [HttpPost] ActionResults에주의하십시오.

enter image description here

여기 내 솔루션의 web.config 파일에서 내 연결 문자열입니다.

리소스를 찾을 수없는 것 같습니다. 온라인으로이 오류가 표시되는 이유를 온라인에서 이해할 수 있습니다!

+0

누락 된 참조가있는 것 같습니다. System.Data.Entity를 추가 할 수 있습니까? – scheien

+0

예 내 controller.cs 상단에 [using System.Data.Entity;]가 있고 내 솔루션에서 참조 아래에 있습니다. – eoinDeveloper

+1

AddObject() 메서드 대신 Add() 메서드가 있는지 확인하십시오. dbcontext 또는 objectcontext를 사용하고 있습니까? – scheien

답변

1

컬렉션이 DbSet 유형이므로 DbContext를 사용하고 있다고 추측합니다.이 컬렉션에서는 항목을 컬렉션에 추가하는 적절한 방법 인 Add (TEntity)입니다. MSDN

반면에 ObjectSet을 사용하는 ObjectContext가 있습니다. 그리고 그 컬렉션에서 AddObject()는 아이템을 추가하는 올바른 방법입니다.

db.Vendors.Remove(vendor); 
db.SaveChanges(); 

난 당신이 대중에게 데이터 모델을 노출하지 말아 있도록 프록시 모델의 일종을 사용하도록 추천 할 것입니다 보조 노트로 :

MSDN 엔티티를 삭제하려면 같은 것을 할.

+0

db.Vendors.Remove (vendor); 및 db.Vendors.Add (공급 업체) 둘 다 오류를 제거하는 것 같지만 실제로 작동하지 않습니다? 입력을 추가하면 실제로 해당 데이터를 데이터베이스에 제출하지 마십시오. – eoinDeveloper

+0

새 엔터티를 추가 할 때 오류가 있습니까? – scheien

+0

App_Data 폴더를 확인하십시오. 거기에 mdf 파일이 있습니까? – scheien

관련 문제