【问题标题】:Left join Linq is not working in Nopcommerce Service左加入 Linq 在 Nopcommerce 服务中不起作用
【发布时间】:2014-11-21 06:36:38
【问题描述】:

我正在使用 nopcommerce 3.4,在其中我必须显示所有供应商列表,并在此基础上显示他们的餐厅位置,因此我需要从左表(供应商)操作两个表,我需要所有记录和右表(餐厅)我需要只匹配记录。如果记录不匹配则显示0。

这样我就创建了 GetAllList() 服务

 public virtual IPagedList<ResturantCoordinatesModel> GetAllList(int pageIndex = 0, int pageSize = int.MaxValue)
        {
            var Resturant = (from r in _resturantCoordinates.Table
                             select r).ToList().AsEnumerable();

            var vendor = _vendorService.GetAllVendors().ToList();
            IList<ResturantCoordinatesModel> model = new List<ResturantCoordinatesModel>();

                           var query = from v in vendor
                            join r in Resturant on v.Id equals r.VendorId into gj
                            from rt in gj.DefaultIfEmpty()
                            orderby rt.Id
                            select new { rt.Id, v.Name, Latitude = (double?)rt.Latitude, Longitude = (double?)rt.Longitude };
}

但在var查询中没有返回任何结果。它返回对象引用未设置为对象的实例错误。请建议正确的结果

【问题讨论】:

    标签: c# linq asp.net-mvc-4 nopcommerce


    【解决方案1】:

    尝试通过 Linq 使用

    foreach(var v in vendor)
                {
                    var s = new ResturantCoordinatesModel();
                    var values = new NopDestek.StoreMapFinder.Domain.Resturant_Coordinates();
    
                       values = (from t in _resturantCoordinates.Table
                                      where t.VendorId == v.Id
                                      select t).FirstOrDefault();
    
                    s.Id = v.Id;
                    s.Name = v.Name;
                    s.Latitude = values == null? 0 : values.Latitude;
                    s.Longitude = values == null ? 0 : values.Longitude;
    
                    model.Add(s);
    
                }
    

    希望这有帮助,

    问候, 维尼特

    【讨论】:

      猜你喜欢
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 2018-04-30
      • 1970-01-01
      相关资源
      最近更新 更多