两个表两个关系ASP MVC
本文关键字:两个 MVC ASP 关系 | 更新日期: 2023-09-27 18:07:44
我今天早上有这个疑问,但没有得到答案。我希望有人能帮助我。
我有两个表(T1 &T2)
T1
-> Id (P)
-> InstanceId (U)
-> ObjectId (U)
-> Name
T2
-> Id (P)
-> InstanceId (F) (Foreign key for T1.InstanceId)
-> ObjectId (F) (Foreign key for T1.InstanceId)
-> Grade
我需要使用两个关系连接这两个表,并使用linq显示两个表的详细信息。
我已经使用了这个linq查询,但不知道如何返回两个表,如果我选择t1和t2从这个查询,那么ObjectId引用不使用(即t12)?
我该如何解决这个问题?我需要使用这两个关系,并希望获得这两个表的值。
LINQ:
var result = from t1 in db.T1
join t2 in db.T2 on t1.InstanceId equals t2.InstanceId
join t12 in db.T2 on t2.ObjectId equals t12.ObjectId
select t1;
您应该使用new
关键字。
加入条款
var result =
from t1 in db.T1
join t2 in db.T2 on new { ObjectId : t1.ObjectId , InstanceId = t1.InstanceId} equals
new { ObjectId : t2.ObjectId , InstanceId = t2.InstanceId}
select new
{
t1,
t2
}
尝试以下操作:
var x = context.T1.Where(t => t.Id == context.T2.InstanceId)
.Select(x => new {
t,
t.Instance //use the related entity here)
}).ToList();
'x'是一个可以在函数中使用的匿名对象。t是T1的变量,它和T2有关,在你们的课上,我期望从T2到T1有一个父变量。这样你就可以在你的匿名对象中使用它了。