0

我有一个 SQL Server 数据库,我正在尝试为其构建一个 RESTful API。我正在使用 ADO.Net 和 Linq 从这样的表中检索单行:

[HttpGet]
public tTrip getTripById(Guid id)
{
    var _trip = (from trips in db.tTrip
                 where trips.ID == id
                 select trips).FirstOrDefault();
    return _trip;
}

当我调试代码时,会检索到正确的对象。但是,如果我继续运行,将没有响应。我猜这是因为对于返回行中存在的每个外键,ADO 都会通过其他映射表进行另一次查找,这会大大减慢一切。

如果我只选择一个不包含任何 FKC 的列,那么一切正常。

有什么想法可以关闭该获取对象的 FKC 查找吗?

谢谢!

4

1 回答 1

0

我发现了问题 - 在 ObjectContext 类中(顺便说一句,“db”变量来自哪里),我将 ContextOptions.LazyLoadingEnabled 变量设置为 true。

将其设置为 false 并且应用程序仅返回每个条目的 Guid,而不是从数据库中加载条目详细信息。

于 2012-07-24T15:15:58.403 回答