Entity Framework を使用した ASP.NET MVC4 プロジェクトがあります。
関連する MaterialPackingID = 123 の Request の数を (ラムダ式で)カウントする方法は?
ここに私のクラスがあります:
public class Request
{
[Key]
public virtual int RequestID { get; set; }
public virtual ICollection<TransportedMaterial> TransportedMaterials { get; set; }
}
public class TransportedMaterial
{
[Key]
public int TransportedMaterialID { get; set; }
public MaterialPacking MaterialPacking { get; set; }
}
public class MaterialPacking
{
public int MaterialPackingID { get; set; }
public string DescriptionFr { get; set; }
public string DescriptionNl { get; set; }
}
そう:
1 つのリクエストに複数の TransportedMaterial が含まれる場合があります
1 つの TransportedMaterial には 1 つの MaterialPacking が含まれます
ここに私が試すものがあります:
public int CountExistingRequestsFilterByMaterialPacking(int id)
{
using (var unitOfWork = UnitOfWorkFactory.Create())
{
var requestRepository = unitOfWork.Create<Request>();
var materialPackingRepository = unitOfWork.Create<MaterialPacking>();
var materialPacking = materialPackingRepository.SingleOrDefault(x => x.MaterialPackingID == id);
if (materialPacking == null)
throw new FaultException("Packing not found");
return requestRepository.GetAll().Where(x => x..... == materialPacking.MaterialPackingID).Count();
}
}
ありがとう。