2016-06-25 79 views
0

我有2个表格一个是问题和其他是JiraAssignee。问题有名为AssigneeID的列和JiraAssignee由AssigeeID和AssigneeName组成。我需要那里的AssigneeName。ASP.NET MVC 4加入两张表

我试过查询但它不会从JiraAssignee表中返回值。

public ActionResult COED() 
    { 
    var model = new SO_80.Models.Tables(); 
    string COED = "COED"; 

    model.Issue = db.Issues.Where(d => 
    model.JiraAssignee = (from d in db.Issues.Where(d => d.JiraIssueKey.Contains(COED)).ToList() 
           join j in db.JiraAssignees.ToList() on d.JiraAssigneeID equals j.ID 
           select new JiraAssignee() { DisplayName = j.DisplayName }); 
    return View(model); 
    } 
+0

你'ToList()'调用导致供应商独立运行的查询,并具有LINQ到对象实际处理在客户端的内存的加盟。虽然我不相信这是你的问题。你有没有尝试将查询写入原始SQL并执行? –

+0

@ siva.k是的,我已经尝试在SQL服务器管理工​​作室写它,它在那里工作。我无法将它写入'homecontroller.cs'中。也许我在语法上做错了什么。 – Muneeb

回答

0

您可以使用此代码:

public ActionResult COED() 
    { 
    var model = new SO_80.Models.Tables(); 
    string COED = "COED"; 
    Issue result = null; 
    using (Entities db = new Entities()) 
      { 
       result = (from d in db.Issues 
         join j in db.JiraAssignees on db.Issues equals j.ID 
         where j.JiraIssueKey.ToLower().Trim().Contains(COED) 
         select d).FirstOrDefault(); 
      } 
    return View(result); 
    } 
+0

谢谢。它几乎奏效。 :P – Muneeb

+0

@Muneeb如果这个答案可以帮助你,请upvote并接受这个答案,所以人们知道这是正确的答案。 –