2016-06-25 81 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並接受這個答案,所以人們知道這是正確的答案。 –