我有两个具有 1:n 关系的 SQL 数据库表。对于我的 ASP.NET MVC 解决方案,我启用了 EF 代码优先迁移并建立了正确的 DBContext 和类。
我想编写一个 MVC Controller 来连接两个表,以便选择在 View 中显示的特定记录。
这是两个类:
public class Tbl_Group_Communities : Entity
{
public string GKZ { get; set; }
public int G_ID { get; set; }
}
public class Katastralgemeinden : Entity
{
public string KGNr { get; set; }
public string KGName { get; set; }
public string GKZ { get; set; }
public string GemeindeName { get; set; }
}
到目前为止,我已经能够为表格本身提供一个工作 Controller ,但尚未加入。下面是第一类的工作 Controller :
public IEnumerable<Tbl_Group_Communities> Get()
{
var entities = UnitOfWork.GetAll<Tbl_Group_Communities>().ToList();
return entities;
}
我认为,连接可以使用 Linq 完成,但我不知道如何/从哪里开始。 两个表的公共(public)键都是GKZ;因此连接应该通过 GKZ 建立。然后我需要从连接的记录中选择特定的记录,其中 G_ID = 某个值。
如果有人能给我一些帮助,我将非常感激。 马努
最佳答案
您可以进行内部联接,如下所示。
假设:希望您的表名称类似于 Tbl_Group_Communities
和 Katastralgemeinden
。换句话说,名称与类名称相同。
from s in db.Tbl_Group_Communities
join sa in db.Katastralgemeinden on s.GKZ equals sa.GKZ
where s.G_ID == 1
select s
您可以在此处了解有关加入
的更多信息:Join Operators
关于c# - 如何在 MVC Controller 中使用 Linq 连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40320334/