在我的〜/ Presentation / Nop.Web / Controllers / ProductController.cs中,我创建了一个使用googleMapsApi进行过滤的方法,如下所示:
// GET: /Product/StoreLocatorResults
public ActionResult StoreLocatorResults(string address)
{
// Make sure we have an address - if not, send user back to /Product/StoreLocator
if (string.IsNullOrEmpty(address))
return RedirectToAction("StoreLocator");
// Get the lat/long info about the address
var results = GoogleMapsAPIHelpersCS.GetGeocodingSearchResults(address);
// Determine the lat & long parameters
var lat = Convert.ToDecimal(results.Element("result").Element("geometry").Element("location").Element("lat").Value, NumberFormatInfo.InvariantInfo);
var lng = Convert.ToDecimal(results.Element("result").Element("geometry").Element("location").Element("lng").Value, NumberFormatInfo.InvariantInfo);
// var vendors = _vendorService.GetAllVendors();
// Get those locations near the store
TyrePromosContext context = new TyrePromosContext();
var nearbyStores = from store in context.contextVendors
where Math.Abs(decimal.Parse(store.Latitude) - lat) < 0.25M &&
Math.Abs(decimal.Parse(store.Longitude) - lng) < 0.25M
select new NearbyStoreLocation()
{
Id = store.Id,
VendorAddress = store.VendorAddress,
City = store.City,
PostalCode = store.PostalCode,
Latitude = store.Latitude,
Longitude = store.Longitude,
AddressLatitude = lat,
AddressLongitude = lng
};
// Order the results from nearest to farthest
var nearbySortedStores = nearbyStores.ToList().OrderBy(s => s.DistanceFromAddress).ToList();
return View(nearbySortedStores);
}
我创建了一个名为TyrePromosContext的上下文,它似乎连接得很好,因为我没有得到任何构建错误,并且Web项目运行正常,但是当一个地址字符串被解析为上面的StoreLocatorResults方法时,我收到此错误消息
错误消息: 类型&#39; System.Data.SqlClient.SqlException&#39;的例外情况发生在EntityFramework.dll中但未在用户代码中处理
其他信息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及SQL
现在我的问题是如何使用服务层以这种方式获取所有供应商:
var vendors = _vendorService.GetAllVendors(model.SearchName, command.Page - 1, command.PageSize, true);
像在里面一样
~Presentation / Nop.Web / Administration / Controllers / VendorController.cs?