我的问题是我想要获取Linq结果的实体值。下面是我的方法无法使用Lambda表达式检索值
我的数据层方法:
private static readonly Func<DataContext, String, String, IQueryable<AuthenticateUserResult> > AuthenticateUser__impl= CompiledQuery.Compile((DataContext context, String username, String password) =>
( from u in context.GetTable<Yantriki.MeriRanchi.Web.UI.Core.User>()
where ((u.UserName == username)
&& (u.Password == password)
&& (u.IsActive == true))
select new AuthenticateUserResult
{
MemberId = u.MemberId,
Email = u.Email,
Name = u.Name,
Role = u.Role,
UserName = u.UserName
}));
上面的代码是由Visual LINQ的设计器生成的。现在,我使用下面的方法将结果返回给用户界面层:
public static IQueryable AuthenticateUser(User user)
{
var db = new MeriRanchiDataContext();
return MeriRanchiQueries.AuthenticateUser(db, user.UserName, user.Password);
}
在我的UI层,我需要存储在实体值,成员Id,电子邮件,名称,这样我可以将其设置为会话。那么,这将是什么表达。
代码我这样做,但我得到空引用异常而获取的实体。 –
空引用异常与返回类型无关。 –
不与返回类型...它出现在我应用lambda表达式来获取结果时。 –