列ID的SQL会是这样的LINQ的:从2数据表,其中从第一个表列ID =从第二个表
select GeneralData.id, GeneralData.name, GeneralData.last_name, Student.id
from GeneralData Inner JOIN Student ON Student.id=GeneralData.id
GeneralData被DT1 学生DT2 我想要得到的是DT3 选择有一些建议?
列ID的SQL会是这样的LINQ的:从2数据表,其中从第一个表列ID =从第二个表
select GeneralData.id, GeneralData.name, GeneralData.last_name, Student.id
from GeneralData Inner JOIN Student ON Student.id=GeneralData.id
GeneralData被DT1 学生DT2 我想要得到的是DT3 选择有一些建议?
var query =
from s in db.Student
from g in db.GeneralData
where s.id == g.id
select new
{
g.id,
g.name,
g.last_name
};
尝试了这一点:
from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}
var query = from data in dc.GeneralData
join stud in dc.Students in data.id equals stud.id
select new
{
data.id, data.Name, data.LastName, stud.id
};
像这样:
var result= (
from general in db.GeneralData
join student in db.Student
on general.id=student.id
select new
{
general.id,
general.name,
general.last_name,
studentId=student.id
}
);
其中db是LINQ数据上下文
作为方法链:
dt2.Where(s=>s.id == 1)
.Select(s=> new {Stud = s, Data= dt1.Where(g=>g.id == s.id)}).First()
.Select(q=> new {q.Stud.id, q.Data.name, q.data.last_name}).FirstOrDefault();
我想你可能需要修正你的SQL一点。你有一个交叉连接,然后是一个内部连接到你已经交叉连接的一个表(它可能工作,但没有意义)。 – 2012-03-15 14:15:18