Mad*_*sen 4 c# linq-to-sql asp.net-mvc-2
我不是很擅长linq2sql甚至是sql,但是所有东西都带有一点训练.
我的问题:我有3个表:项目,文件夹和任务.
我需要进行查询,以便我加入这3个表.
我试过了一下:
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);
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,我得到与项目相关的文件夹.现在我想在同一个查询中查找与文件夹和项目相关的任务.
所以最后我得到这个场景:单击项目名称,发送ID,获取ID,并显示与我单击的项目相关的文件夹,并在与文件夹相同的站点上显示任务.
我不完全确定你在这里想要完成什么.但这里是一个linq to sql查询,我将项目文件夹和文件夹加入到任务中.Project有一个名为ProjectId的字段,Folders也有一个"ProjectId",我正在其中加入.假设具有相同的命名约定,文件夹将具有"FolderId"并且任务也将具有"FolderId".希望能帮助到你:
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();
Run Code Online (Sandbox Code Playgroud)
结果将表示符合条件的项目列表.
| 归档时间: |
|
| 查看次数: |
4411 次 |
| 最近记录: |