也许是一个非常简单的问题,但我是Linq to SQL的新手。我有两张桌子
User : UserId,name,Password,Email
USER_TABLE: Id, UserId, FirstName,LastName......
我想要一个查询,例如:userID=3
然后提供所有详细信息(FirstName,LastName etc)
我如何加入这两张桌子?如果有可能,我更喜欢C#
代码!
答案 0 :(得分:6)
您不必亲自完成所有管道工作。如果您在数据库中拥有正确的外键,则无需自己加入。
你可以这样做:
var query = from u in db.Users
select new { User = u;
FirstName = u.UserTables.FirstName }
答案 1 :(得分:4)
对于内部联接使用类似:
var query = from u in db.Users
join ut in db.UserTables on u.UserId equals ut.UserId
select new
{
User = u,
Extra = ut
};
答案 2 :(得分:2)
或许这样:
var joinedResult = from u in context.User
join u2 in context.UserTable on u.UserId equals u2.UserId
select new {
UserId = u.UserId,
FirstName = u2.FirstName
};
我猜你的例子只是一个例子,对吗?因为将这些数据分成两个表没有多大意义。
答案 3 :(得分:1)
可以使用linq连接表:
例如:
var test = (from a in DataContext.User
join b in DataContext.UserTable on a.UserId equals b.UserId
select new
{
UserId = a.UserId,
FirstName = b.FirstName
LastName = b.LastName
}).ToList();
此致