0

「GROUPBY」を使用しようとしていますimMVC

これが私の機能です

  private readonly ICacheManager _cacheManager;


public virtual IList<ShippingByWeightRecord> GetAll()
        {
            string key = SHIPPINGBYWEIGHT_ALL_KEY;
            return _cacheManager.Get(key, () =>
            {


                var query = from sbw in _sbwRepository.Table
                            group sbw by new
                            {
                                sbw.ShippingMethodId,
                                sbw.From,
                                sbw.To,
                                sbw.ShippingChargeAmount,
                                sbw.RegionId,
                                sbw.ItemRangeId

                            }
                                into grouping
                                select new { grouping.Key,
                                             Id = grouping.Max(sbw => sbw.Id)
                                 };     

                 var records = query.ToList();
                return records;
            });
        }

しかし、エラーがあります。どうやってするの??これは私のsqlコマンドです。

SELECT     MIN(Id) AS id, ShippingMethodId, [From], [To], ShippingChargeAmount, RegionId, ItemRangeId
FROM         ShippingByWeight
GROUP BY ShippingMethodId, [From], [To], ShippingChargeAmount, RegionId, ItemRangeId

MVCで書きたいですか?何か考えはありますか?

4

1 に答える 1

3

ShippingByWeightRecordのインスタンスを作成する必要がありますselect。する必要があります:

var query = from sbw in _sbwRepository.Table
                        group sbw by new
                        {
                            sbw.ShippingMethodId,
                            sbw.From,
                            sbw.To,
                            sbw.ShippingChargeAmount,
                            sbw.RegionId,
                            sbw.ItemRangeId

                        }
                            into grouping
                            select new ShippingByWeightRecord {
                                    Id = grouping.Max(sbw => sbw.Id),
                                    ShippingMethodId = grouping.Key.ShippingMethodId,
                                    From = grouping.Key.From,
                                    To = grouping.Key.To,
                                    ShippingChargeAmount = grouping.Key.ShippingChargeAmount,
                                    RegionId = grouping.Key.RegionId,
                                    ItemRangeId = grouping.Key.ItemRangeId  
                             }; 
于 2012-10-05T05:12:08.870 に答える