I'm not that good at linq2sql or even sql, but everything comes with a little training.
My question: i got 3 tables: Projects, Folders and Tasks.
I need to make the query so that i join these 3 tables.
I've tried a bit:
public ActionResult Details(string id) {
var user = GetProfile().Id;
var p = _db.Projects.Where(x => Convert.ToString(x.ProjectId) == id && x.UserId == user).SingleOrDefault();
var f = _db.Folders.Where(x => x.ProjectId == p.ProjectId).ToList();
return View(f);
}
This works fine, and i get the folders related to the project. Now i want, in the same query the tasks, who is related to the folders and the project.
So at the end i get this scenario: Click's on a projectname, sends the ID, takes the ID, and presents the folders related to the project i clicked on and presents the tasks on the same site as the folders.
I'm not completely sure on what you're trying to accomplish exactly here. But here is a linq to sql query where I am joining projects onto folders and folders onto tasks. Project has a field named ProjectId and Folders also has a "ProjectId" in which I'm joining on. Folders will have a "FolderId" and tasks will also have a "FolderId", assuming the same naming convention. Hope it helps:
var result = (from projects in _db.Projects
join folders in _db.Folders
on projects.ProjectId equals folders.ProjectId
join tasks in _db.Tasks
on folders.FolderId equals tasks.FolderId
where projects.Id.ToString() == id
&& projects.UserId == user
select projects).ToList();
result will represent a list of Projects that match the criteria.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With