Linq to sql LINQ问题-如何在哪里制作!=价值

Linq to sql LINQ问题-如何在哪里制作!=价值,linq-to-sql,Linq To Sql,我有一个表“Friends”,其中包含登录用户的ID和他/她的朋友的ID 使用此SQL查询得到的结果 SELECT u.ID, u.Nickname FROM UserSet as u, FriendsSet as f WHERE u.ID=f.FriendID ORDER BY u.Nickname 是 “rugardini”是我的当前用户,因为在友谊关系中,“Teste”是我的朋友,我也是他的朋友,但在我的朋友列表中,我不希望出现我自己的用户 因此,我做了以下查询,不包括我自己的ID(1

我有一个表“Friends”,其中包含登录用户的ID和他/她的朋友的ID

使用此SQL查询得到的结果

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

“rugardini”是我的当前用户,因为在友谊关系中,“Teste”是我的朋友,我也是他的朋友,但在我的朋友列表中,我不希望出现我自己的用户

因此,我做了以下查询,不包括我自己的ID(16)

我有两个问题:

1) 这是做这个选择的最好方法吗? 2) 如何将此SQL查询转换为LINQ?

关于2):第二个查询的LINQ应该如下所示:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
关于2):第二个查询的linq应该如下所示:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>

我只能这样执行查询:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
在我的控制器中有这样一个类:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
在我看来,一个循环是这样的:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
    @foreach(ViewBag.Friends中的动态项) {
  • @item.昵称@Html.ActionLink(“Amigo”,“Index”,new{id=item.id})
  • }

感谢所有回答我问题的人=)

我只能这样执行我的查询:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
在我的控制器中有这样一个类:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
在我看来,一个循环是这样的:

from u in db.UserSet, f in db.FieldsSet
where u.ID=f.FriendID && u.ID != 16
orderby u.Nickname
select u.ID, u.Nickname 
var friends = (from u in db.UserSets
               join f in db.FriendsSets
               on u.ID equals f.FriendID
               where u.ID != userID
               orderby u.Nickname
               select new Friends { ID = u.ID, Nickname = u.Nickname }).ToList();
public class Friends
{
    public int ID;
    public string Nickname;
}
<ul>
@foreach (dynamic item in ViewBag.Friends)
{
    <li>@item.Nickname @Html.ActionLink("Amigo", "Index", new { id = item.ID })</li>
}
</ul>
    @foreach(ViewBag.Friends中的动态项) {
  • @item.昵称@Html.ActionLink(“Amigo”,“Index”,new{id=item.id})
  • }

感谢所有回答我的问题的人=)

您的查询目前没有任何内容可以识别当前用户。请发布更多关于您的表结构的详细信息-我认为您目前没有向我们提供足够的信息。请创建当前用户的实例,并用它替换
16
。您的查询目前没有任何可识别当前用户的信息。请发布更多关于您的表结构的详细信息-我认为您目前没有向我们提供足够的信息。创建当前用户的实例并用它替换
16
。谢谢mishau,您的回答非常有用。谢谢mishau,您的回答非常有用。