我正在尝试创建一种方法来查找存储在我的实体数据库中的位置。我试图使用DbGeography类进行此操作,在soem情况下,我取得了成功,但操作通常会超时。
我使用的数据集大约有420,000条记录,而且当它们没有失败时,我的查询通常需要大约30秒。这是我目前使用的正常表现吗?
这是我的代码,
private List<TransportStop> StopsNearby(double latitude, double longitude, double radiusInKm)
{
var location = CreatePoint(latitude, longitude);
var radiusInMeters = radiusInKm * 1000;
var stops =
from c in Data.Naptans
let distance = c.L.Distance(location)
where distance <= radiusInMeters
select c;
return stops.ToList();
}
答案 0 :(得分:0)
尝试将您的方法更改为任务:
public Task<List<TransportStop>> StopsNearby(double latitude, double longitude, double radiusInKm)
{
var location = CreatePoint(latitude, longitude);
var radiusInMeters = radiusInKm * 1000;
var stops =
from c in Data.Naptans
let distance = c.L.Distance(location)
where distance <= radiusInMeters
select c;
return stops.ToList();
}
然后调用这个方法的引用是这样的:
public async Task Test()
{
var stopsNearby = await StopsNearby(1, 1, 1);
}