Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此Linq写入SQL选择查询_Linq_Linq To Sql_Select - Fatal编程技术网

如何将此Linq写入SQL选择查询

如何将此Linq写入SQL选择查询,linq,linq-to-sql,select,Linq,Linq To Sql,Select,我有3个表格:分包合同、公司和联系人。每个表都有一个活动的_状态标志,显示该项仍处于活动状态(尚未删除) 每个联系人都有一个公司id字段,用于存储联系人公司的id 每个分包合同都有一个公司id字段,用于存储分包合同的公司 每个公司都有一个保存其guid的公司id字段和一个主公司字段,b/c公司可以是子公司。如果是子公司,则primary_company字段保存主公司的id 我有一份分包合同表格。在表单上,我有一个联系人下拉列表,存储在联系人表中。当前,下拉列表列出了所有联系人。我只希望有属于

我有3个表格:分包合同、公司和联系人。每个表都有一个活动的_状态标志,显示该项仍处于活动状态(尚未删除)

  • 每个联系人都有一个公司id字段,用于存储联系人公司的id
  • 每个分包合同都有一个公司id字段,用于存储分包合同的公司
  • 每个公司都有一个保存其guid的公司id字段和一个主公司字段,b/c公司可以是子公司。如果是子公司,则primary_company字段保存主公司的id
我有一份分包合同表格。在表单上,我有一个联系人下拉列表,存储在联系人表中。当前,下拉列表列出了所有联系人。我只希望有属于分包商公司或该公司任何子公司的下拉列表联系人

public IQueryable<company> GetSubsidiaryCompanies(Guid id)
{
   return
      from c in db.companies
      where c.primary_company == id && c.active_status == true
      select c;
}
我在程序的其他地方使用以下查询来传递公司id并获取其子公司

public IQueryable<company> GetSubsidiaryCompanies(Guid id)
{
   return
      from c in db.companies
      where c.primary_company == id && c.active_status == true
      select c;
}
公共IQueryable GetSubsidiaryCompanys(Guid id) { 返回 来自db公司的c 其中c.primary\u company==id&&c.active\u status==true 选择c; } 这是我当前选择的联系人

public IQueryable<contact> GetContacts()
{
   return
      from c in db.contacts
      where c.active_status == true
      orderby c.contact_name
      select c;
}
public IQueryable GetContacts()
{
返回
从数据库中的c开始
其中c.active_status==true
orderby c.联系人姓名
选择c;
}
我需要做的是将subcontract.company\u id传递给它,然后只返回联系人,其中
contact.company\u id==subcontract.company\u id
contact.company\u id==
子公司id之一。

public IQueryable GetContacts(Guid id)
public IQueryable<contact> GetContacts(Guid id)
{
    return 
    db.companies
        .Where(c=>c.active_status == true) 
        .Where(c=>c.primary_company == id || c.company_id == id)
        .SelectMany(c=>c.contacts);

}
{ 返回 db公司 .其中(c=>c.active\u status==true) 其中(c=>c.primary_company==id | | c.company_id==id) .选择多个(c=>c.联系人); }
公共IQueryable GetActiveCompanys(Guid id)
{
从数据库中的c返回
其中c.active_status==true
&&(c.primary_company==id | | c.company_id==id)
选择c;
}
公共IQueryable GetContacts(Guid id)
{
返回GetActiveCompanys(id)
.选择多个(c=>c.联系人);
}