5

作成したテーブルがあり、それを挿入しました

var CurrTable;

テーブルは次のようになります。

SaleID | ProductID | ProductName

  1    |     1     |    Book
  1    |     2     |  Notebook
  2    |     3     |   Guitar
  2    |     4     |   Piano

ProductInfo と SaleInfo の 2 つのクラスがあります。

public class ProductInfo
{
    int ProductID;
    string ProductName;
}

public class SaleInfo
{
    int SaleID;
    List<ProductInfo> products;
}

SaleInfo ( List<SaleInfo>) のリストにデータを入力したいだけです...

私が書いたクエリは次のようになります。

List<SaleInfo> results = (from s in CurrTable.AsEnumerable()
                                      group s by new { s.SaleId} into g
                                      select new SaleInfo
                                      {
                                          SaleID = g.Key.SaleId,
                                          Products = (*...*)
                                      }).ToList();

でも、何を書けばいいのかわからない(*...*)。すでにデータを持っているので、別の選択をしたくありません。製品リスト内のリストを埋めたいだけなので、グループ機能を使用しました。

これどうやってするの?

4

2 に答える 2

5

select句を次のようにしたいのではないかと思います:

select new SaleInfo
{
    SaleID = g.Key.SaleId,
    Products = g.Select(x => new ProductInfo { ProductID = x.ProductID,
                                               ProductName = x.ProductName })
                .ToList()
}
于 2012-04-13T09:22:55.060 に答える
0

多分このようなもの:

select new SaleInfo()
        {
            SaleID=g.Key.SaleId,
            products=g.Select (x =>new ProductInfo(){
              ProductID=x.ProductID,ProductName=x.ProductName}).ToList()
        }

また、プロパティにアクセスできる必要がある場合。クラスを次のように変更します。

public class ProductInfo
{
    public int ProductID;
    public string ProductName;
}

public class SaleInfo
{
    public int SaleID;
    public List<ProductInfo> products;
}
于 2012-04-13T09:29:34.220 に答える