0

我有一个使用 EF4 的 .net4 应用程序,我使用 BasicHttpBinding 通过 WCF 公开我的模型(但这可以更改),每次我尝试调用此方法时,我的 Web 服务器进程开始在内存中增长并且进程死亡。

问题是当 DataContractSeralizer 试图序列化我的实体(有一些关系)进入递归堆栈时。那么,为了通过 WCF 服务该实体,是否有任何特殊配置或我缺少的东西。

这里有一些额外的信息:我的 EF 模型的截图:http ://www.luisguerrero.net/stackoverflow/efmodel.jpg

public List<ExtendedSession> GetAllExtendedSessionByFilter(int id)
{
        QueryDataAccess<ExtendedSession, NextWebEntities> query = new QueryDataAccess<ExtendedSession, NextWebEntities>("ExtendedSession");
        List<ExtendedSession> result = query.GetAllByFilter(item => item.SessionId == id, "Rule");
        return result;
}
4

1 回答 1

0

我通常通过序列化没有任何循环引用的数据投影来解决这个问题,编写为 LINQ 查询。

于 2010-01-07T20:39:36.503 回答