我有两个实体:集团由多到许多relashionship
public class Category
{
// Primary properties
public int Id { get; set; }
public string Name { get; set; }
// Navigation properties
public virtual ICollection<Address> Addresses { get; set; }
}
public class Address
{
// Primary properties
public int Id { get; set; }
public string Name { get; set; }
// Navigation properties
public virtual ICollection<Category> Categories { get; set; }
}
基于一组地址标识的,我需要集团通过按类别中的所有地址,包括地址计算每个地址。
例子:
Category: {1,"WORKSHOP",{1,2}},{2,"DEALER",{1,3}}
Address: {1,"Paul Workshop and Dealer",{1,2}}
{2,"Joe Workshop",{1}}
{3,"Peter Dealer",{2}}
如果我有地址标识的1和3,我想:
Categories - "WORKSHOP - Count: 1"
"DEALER - Count: 2"
如果我有地址标识的1和2,我想:分类 -
Categories - "WORKSHOP - Count: 2"
"DEALER - Count: 1"
到目前为止,我得到这个,而是由一群不工作:
var groupedAddresses = from add in addressQuery
where addressIds.Contains(add.Id)
group add by new { Category_Id = add.Categories, Address_Id = add.Id };
var result = from add in groupedAddresses
group add by add.Id into final
join c in categoryQuery on final.Key equals c.Id
select new CategoryGetAllBySearchDto
{
Id = final.Key,
Name = c.Name,
SearchCount = final.Count()
};
有什么想法吗?
谢谢。
为什么你有''经销商 - 计数:1“'地址标识1和3?经销商提供了两个地址。看起来像计数应该是2 –
嗨,谢谢,当我重新检查这个问题时,我看到了这个错误,并且我已经纠正了它。谢谢 – Patrick