오류 : ObjectContext 인스턴스가 삭제되어 더 이상 연결이 필요한 작업에 사용할 수 없습니다.Entity Framework 오류가있는 WCF
Entity Framework (VS 2010, .NET 4)를 사용하여 WCF 서비스를 만들려고합니다. 그것을 실행할 때 위의 오류가 발생합니다.
은 내가 T4 템플릿을 편집에 대한 뭔가를 읽을 수 있지만 이미[DataContractAttribute(IsReference=true)]
public partial class Person : EntityObject
및
[DataMemberAttribute()]
public global::System.Int32 ID
{
get
{
return _ID;
}
내가 그 차이가 무엇인지 확실하지 않다가 나타납니다
[DataMemberAttribute()] and [DataMember]
사이
또는
[DataContractAttribute(IsReference=true)] and [DataContract]
중 하나입니다.
public Person GetPersonByID(int id)
{
using (var ctx = new MyEntities())
{
return (from p in ctx.Person
where p.ID == id
select p).FirstOrDefault();
}
}
WCF와 EF는 어떻게 함께 제대로 작동합니까?
Lazy Loading false를 설정하면 작동합니다. WCF가 지연로드로 IEnumerables를 처리 할 수 없다고 가정해야합니까? 대용량 데이터 세트 (수십만 건의 레코드)를 다루는 방법은 무엇입니까? 항상 하위 집합으로 필터링합니까? –
최선의 방법은 필요한 부분 만 전송하는 것입니다. IEnumerable을 사용하여 작업을 정의 할 수 있다고 생각합니다. 클라이언트 사이트에서 배열로 처리됩니다. –
지연로드가 문제였습니다. WCF로 대규모 데이터 세트를 처리하는 방법에 대해 더 자세히 읽어야합니다. –