c# - 찾을 - system.windows' 네임스페이스에 'forms' 형식 또는 네임스페이스 이름이 없습니다




형식 또는 네임 스페이스 이름 'Objects'네임 스페이스 'System.Data'에 존재하지 않습니다. (6)

엔티티, C # 및 SQL Server를 사용하여 n 계층 응용 프로그램을 만듭니다. 모든 DAL 구성 요소에 공통적 인 기본 클래스를 만들었습니다. 이 기본 클래스에서 엔티티 개체에 상속 된 ObjectContext 기본 클래스의 연결 상태를 처리하려고합니다.

컴파일하면 다음 오류가 발생합니다.

형식 또는 네임 스페이스 이름 'Objects'네임 스페이스 'System.Data'에 존재하지 않습니다 (어셈블리 참조가 누락 되었습니까?)

또한 using 문 System.Data.Objects는 같은 이유로 해결되지 않습니다.

어셈블리를 참조로 추가하려고했지만 어셈블리 참조의 .NET 탭에서 찾을 수 없습니다.

이견있는 사람? 감사!


"System.Data.Objects.EntityFunctions"를 사용하려는 경우

EF 6.1 이상에서 "System.Data.Entity.DbFunctions"사용


.NET 어셈블리 System.Data.Entity.dll에 대한 참조를 추가해야합니다.


.dll 파일에 대한 참조를 System.Data.Linq에 추가했는데 위 내용이 충분하지 않았습니다. 다음 버전의 다양한 디렉토리에서 .dll을 찾을 수 있습니다.

System.Data.Linq C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ v3.5 \ System.Data.Linq.dll 3.5.0.0

System.Data.Linq C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.Data.Linq.dll 4.0.0.0


EF 6+에 대한 나의 경우, 이것을 사용할 때 :

System.Data.Entity.Core.Objects.ObjectQuery

이 명령의 일부로 :

var sql = ((System.Data.Entity.Core.Objects.ObjectQuery)query).ToTraceString();

이 오류가 있습니다.

Cannot cast 'query' (which has an actual type of 'System.Data.Entity.Infrastructure.DbQuery<<>f__AnonymousType3<string,string,string,short,string>>') to 'System.Data.Entity.Core.Objects.ObjectQuery'

그래서 나는 이것을 사용하는 것을 끝내었다 :

var sql = ((System.Data.Entity.Infrastructure.DbQuery<<>f__AnonymousType3<string,string,string,short,string>>)query).ToString();    

물론 익명의 서명은 다를 수 있습니다.

HTH.


Entity Framework 6을 사용하는 경우 이름 공간이 변경되었습니다. 너는 사용하고 싶어한다.

System.Data.Entity.Core.Objects.ObjectQuery





entities