В настоящее время вы возвращаете запрос, а не один элемент.Что вы хотите вернуть?
Вот один вариант, например:
public tblUserRole GetPermission(string sPageName)
{
return (from r in this.Context.tblUserRoles
join p in this.Context.tblPageInfos on r.PageID equals p.PageID
where r.Record_Status == 2 && p.PageName == sPageName
select r).FirstOrDefault();
}
Это вернет первую подходящую роль или null
, если нетничего.
Если вы делаете хотите вернуть запрос, было бы лучше, если бы вы строго набрали IQueryable<T>
:
public IQueryable<tblUserRole> GetPermissions(string sPageName)
{
return from r in this.Context.tblUserRoles
join p in this.Context.tblPageInfos on r.PageID equals p.PageID
where r.Record_Status == 2 && p.PageName == sPageName
select r;
}
Тогда вынужно изменить свой код вызова на что-то вроде этого:
tblUserRole Permission
oCurrenUserPermission.GetPermissions(Convert.ToString(Session["Navigation"]))
.FirstOrDefault();