试图找出完成此操作的最佳方法。所以,我有商店与性能表:使用ADO.NET数据服务返回实体+额外数据
STOREID,名称,经纬度等
我使用ADO.NET数据服务(道夫)来创建一个Web服务,将显示附近的商店给定半径和坐标。我做了一个服务操作来获取参数并将结果作为IQueryable返回。到现在为止还挺好。
所以现在我有这样的事情:
return context.Stores.Where(...distance calculation...);
这个伟大的工程,但我也想从给定的半径返回每个店的距离。我已经计算过了,但我应该如何将距离和商店数据一起包括在内?我是否应该使用Store和距离的属性来创建类似StoreSearchResult的类?
如果我只是使用SQL,我可以编写一个数据库查询,它将返回Store的所有数据以及距离列。喜欢的东西:
Select StoreID, Name, Latitude, Longitude, (calculation...) as Distance
from Store
where ...distance param...
所以我在寻找发回原来的存储数据+距离计算,同时还返回IQueryable的最好的方式。我宁愿不采取IEnumerable并使用AsQueryable ...我只是觉得应该可以保持它“关闭”数据库查询,并且我可能只是缺少一些东西。
感谢您的回复!你的第一个答案类似于我已经熟悉的东西,但它只让我到IEnumerable,它不支持与IQueryable相同的东西。我可以使用AsQueryable,但它不像找到返回单个db语句的方法那么扎实。 – 2009-11-21 00:04:03