c# - MVC EF——内部连接

标签 c# asp.net-mvc entity-framework linq linq-to-entities

我检查了可能已经有了我的答案的问题,但似乎没有一个能解决我遇到的问题:

var semesters = db.Semesters.Where(e => e.ID == semester).ToList();
var semestersbyfaculty = db.SemestersByFaculty.Where(e => e.FacultyID == id).ToList();

如果我在 SQL 中执行以下操作,我该如何内部连接这两个查询:

SELECT 
   Fac.*, Sem.SemesterText
FROM 
   SemestersByFaculty AS Fac
INNER JOIN
   Semesters AS Sem
ON
   Fac.SemesterID = Sem.ID
WHERE id
   Fac.FacultyID = id

最佳答案

Inner Join

以下示例显示了一个简单的内部等值连接。

var query = from fac in db.SemesterByFaculty
            join sem in db.Semester on fac.SemesterID equals sem.ID
            where fac.FacultyID == id
            select new { Faculty = fac, SemesterText = sem.SemesterText };

有关详细信息,请参阅 How to: Perform Inner Joins (C# Programming Guide) .

更新:

来自评论

模型

class MyModel {
    public MitModel.SemestersByFacul‌​ty Faculty{ get; set; }
    public string SemesterText { get; set; }
}

class MyViewModel {
    public List<MyModel> SemesterFaculties { get; set; }
}

行动:

public ActionResult SomeAction(string id) {

    var query = from fac in db.SemesterByFaculty
                join sem in db.Semester on fac.SemesterID equals sem.ID
                where fac.FacultyID == id
                select new MyModel{ Faculty = fac, SemesterTest = sem.SemesterTest };

    var viewModel = new MyViewModel { SemesterFaculties = query.ToList() };
    return View(viewModel);
}

查看

@Model MyViewModel

关于c# - MVC EF——内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040038/

相关文章:

C# csc 从内存编译源代码

c# - JavaScript session ?

c# - NopCommerce定制

c# - Linq 在 .Substring() 上抛出异常

c# - AddOrUpdate 不修改 child

c# - 何时在 WPF 应用程序中调用 Dispose() 方法

c# - 为什么 "new int[n] is object[]"是假的?为什么 "int[] is object[] arr"是模式错误?

asp.net - 如何部署 ASP.NET MVC3 应用程序?

javascript - 级联函数的多个参数

c# - 继承IdentityUser时如何创建新用户