我有一个我创建的表,然后将其插入
var CurrTable;
表格如下:
SaleID | ProductID | ProductName
1 | 1 | Book
1 | 2 | Notebook
2 | 3 | Guitar
2 | 4 | Piano
我有两个类,ProductInfo和SaleInfo:
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();
但我不知道在(*...*)
写些什么。我不想做另一个选择,因为我已经有了数据。我只想填写产品列表中的列表,这就是我使用组功能的原因。
我该怎么做?
答案 0 :(得分:4)
我怀疑你想要你的select子句:
select new SaleInfo
{
SaleID = g.Key.SaleId,
Products = g.Select(x => new ProductInfo { ProductID = x.ProductID,
ProductName = x.ProductName })
.ToList()
}
答案 1 :(得分: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;
}