Linq to sql LINQ问题-如何在哪里制作!=价值
我有一个表“Friends”,其中包含登录用户的ID和他/她的朋友的ID 使用此SQL查询得到的结果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
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,您的回答非常有用。