我有这个返回非静态方法异常的 LINQ 查询,因为左连接有时会为 context.Betas 返回一个空值。
return (from t in context.Alphas
join b in context.Betas on new { Id = t.Id } equals new { Id = b.AlphaId } into b_leftjoin
from b in b_leftjoin.DefaultIfEmpty()
where
t.UserProfileId == userProfileId
&& t.IsClosed == false
&& t.IsCancel == false
&& t.EndDate <= DateTime.Now
orderby
t.Title
select new AlphaSelection()
{
Title = t.Title,
CurrentUser = b.UserProfile == null ? null : b.UserProfile,
BetaId = b.Id == null ? 0 : b.Id,
ProjectNumber = t.ProjectNumber,
AlphaId = t.Id
}).ToList();
如果我删除 CurrentUser 和 BetaId 查询有效,但我需要将所有信息放在一起。你能帮我解决这个问题吗?
谢谢!!
编辑(回复评论):
实际的例外是这个:
非静态方法需要一个目标。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
Exception Details: System.Reflection.TargetException: Non-static method requires a target.
Source Error:
Line 39: else
Line 40: {
Line 41: return query.ToList();
Line 42: }
Line 43: }