0

我正在研究 MVC3 项目。我需要帮助编写 Linq 表达式。我的模型是这样的。

模型类

    public int Id { get; set; }
    public int DetCount { get; set; }

我需要做这样的事情,

DetCount = (from sel in db.PoDetails where sel.PoId == Id select sel).Count();  // Id is current model Id.

根据父表 ID,我需要获取子表记录数。

例子

父表

 Id                  Name

  1                   XYZ
  2                   ABC

子表

Id         P_Id

 1          1
 2          1
 3          2


DetCount = (from sel in db.child where sel.P_Id == Id select sel).Count(); // if Id= 1

结果

DetCount = 2;

我已经编写了类似这样的代码。

代码

model = ...
select new porders
                     {
                         Id = p.Id,  //This Id is passed to next statement for DetCount.
                         DetCount = (from sel in db.PoDetails where sel.PoId == Id select sel).Count();    // I need to pass value from another linq query.
                      }

请帮助我。

谢谢,

4

2 回答 2

0
 var result = select new porders
                 {
                     Id = p.Id,
                     PODate = p.Date.Value,
                     RefNo = p.RefNo,
                     Status = resloc.Description,
                     Supplier = resstat.Name,
                     DetCount = db.PoDetails
                      .Select(p => p.sel)
                        .Where(sel.PoId == asd.Id).Count() 
                  }
于 2012-10-08T07:35:14.403 回答
0

这只是你想要的计数吗?如果是这样,这应该工作:

var DetCount = db.PoDetails.Where(sel=>sel.PoId == Id).Count();  // Id is current model Id.

干杯:)

于 2012-10-08T09:07:55.917 回答