2011-09-12 51 views
0

我有2个问题,一个关于SQL和一个约实体框架:SQL和的EntityFramework,不能得到结果我想

我有一个表“USERSET”提供有关用户的所有信息;并且我有表“FriendRequests”,它处理UserID和FriendID信息。我目前的用户是“rugardini”。我需要列出好友请求。所以,我不喜欢这样的查询只用于测试目的:

select fq.FriendID, u.Nickname from 
FriendRequestsSet as fq, UserSet as u 
where fq.UserID=16 

但我的结果是这样的:

| FriendID | Nickname | 
------------------------ 
| 17  |rugardini | 
| 17  | Teste | 

==编辑============= =======

现在我知道我的查询应该是:

SELECT u.ID, u.Nickname 
FROM UserSet as u, FriendRequestsSet as f 
WHERE u.ID=f.FriendID 
ORDER BY u.ID 

我得到正确的结果^^我还需要知道如何“翻译”它EF4.1 ?

回答

0

茜草Linq中的几乎类似

from u in USerSet 
    join f in FriendRequestsSet 
    on u.ID=f.FriendID 
    ORDERBY u.ID 
    select new {u.ID,u.Nickname} 
+0

谢谢Amritpal,你有什么例子可以在MVC中使用这段代码吗? –

0

使用这个查询,你想用不同的列从每个表创建一个新的视图(如我们在做SQLSERVER)。我们需要在MVC中创建一个ViewModel,它将代表列

 public class FriendRequest 
     { 
       int col1{get;set;} 
       int col2{get;set;} 
       //Here comes the Column You Want To Consider For your View Model 
     } 

     var list=from u in USerSet 
     join f in FriendRequestsSet 
     on u.ID=f.FriendID 
     ORDERBY u.ID 
     select new FriendResquest{Col1=u.ID,col2=u.Nickname} 
     //Here by map your columns as declared in your view model