2016-06-25 10 views
0

Ich habe 2 Tabellen eins ist Probleme und andere ist JiraAssignee. Probleme haben die Spalte AssigneeID und JiraAssignee bestehen aus AssigeeID und AssigneeName. Ich brauche AssigneeName von dort.ASP.NET MVC 4 Joining zwei Tabellen

Ich habe Abfrage versucht, aber es wird nicht den Wert von JiraAssignee Tabelle zurückgegeben.

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

Ihre 'ToList()' Anrufe verursachen die Provider die Abfragen unabhängig auszuführen und LINQ mit auf Objekte tatsächlich die im Speicher des Clients JOIN behandeln. Ich bin nicht überzeugt, dass das dein Problem ist. Haben Sie versucht, die Abfrage als Raw-SQL zu schreiben und auszuführen? –

+0

@ siva.k Ja Ich habe versucht, es in SQL Server Management Studio zu schreiben, und es hat dort funktioniert. Ich kann es nicht in 'homecontroller.cs' schreiben. Vielleicht mache ich etwas falsch in der Syntax. – Muneeb

Antwort

0

Sie diesen Code verwenden können:

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

Danke. es hat fast funktioniert. : P – Muneeb

+0

@Muneeb bitte upvote und akzeptiere diese Antwort, wenn diese Antwort dir hilft, damit die Leute wissen, dass dies die richtige Antwort ist. –