我有一个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查找的任何想法吗?
谢谢!
答案 0 :(得分:0)
我发现了问题 - 在ObjectContext类中('db'变量来自btw),我将ContextOptions.LazyLoadingEnabled变量设置为true。
将其设置为false,应用程序仅返回每个条目的Guid,而不是从数据库中加载条目详细信息。