Sql 如何仅选择此dbml查询的第一行?
这是我最初的疑问Sql 如何仅选择此dbml查询的第一行?,sql,linq-to-sql,Sql,Linq To Sql,这是我最初的疑问 public UserChallenge GetUserChallenge(int userId, int challengeId) { var result = from userChallenge in DataContext.UserChallenges where userChallenge.UserId == userId && userChallenge.Challe
public UserChallenge GetUserChallenge(int userId, int challengeId)
{
var result = from userChallenge in DataContext.UserChallenges
where userChallenge.UserId == userId && userChallenge.ChallengeId == challengeId
select userChallenge;
这是修改后的查询
var result = from userChallenge in DataContext.UserChallenges
where userChallenge.ChallengeId == challengeId
select userChallenge;
有1个以上的userChallenge保存该ChallengeId。如何仅选择第一个选项?查看FirstOrDefault
var result = (from userChallenge in DataContext.UserChallenges
where userChallenge.UserId == userId && userChallenge.ChallengeId == challengeId
select userChallenge).FirstOrDefault();
但从长远来看,确定一种唯一标识记录的方法可能更有帮助。查看FirstOrDefault
var result = (from userChallenge in DataContext.UserChallenges
where userChallenge.UserId == userId && userChallenge.ChallengeId == challengeId
select userChallenge).FirstOrDefault();
但从长远来看,确定一种唯一标识记录的方法可能更有帮助。您可以使用
First
或First或default
获取列表中的第一项<如果未找到项,则code>FirstOrDefault返回null
,而First
失败并出现“序列不包含元素”错误
您可以使用
First
或FirstOrDefault
获取列表中的第一项<如果未找到项,则code>FirstOrDefault返回null
,而First
失败并出现“序列不包含元素”错误
@比尔,你在还原问题文本时删除了接受的答案吗?@Ellesedil否,版主不能在不删除答案的情况下删除接受复选标记。@比尔,你在还原问题文本时删除了接受的答案吗?@Ellesedil否,版主不能在不删除答案的情况下删除接受复选标记。