Asp.net mvc 使用非实体对象获取数据的Linq查询
我试图通过比较登录名从3个表中获取记录 这是我的密码:Asp.net mvc 使用非实体对象获取数据的Linq查询,asp.net-mvc,entity-framework,linq,Asp.net Mvc,Entity Framework,Linq,我试图通过比较登录名从3个表中获取记录 这是我的密码: public ActionResult MeritList() //departmental merit listed students details with status 1 { var username= HttpContext.Session["UserName"]; List<StdListModel> model = new List<StdListModel>
public ActionResult MeritList() //departmental merit listed students details with status 1
{
var username= HttpContext.Session["UserName"];
List<StdListModel> model = new List<StdListModel>();
var query = (from s in Context.tblStdDetails
join e in Context.tblStdEnrollments on s.ID equals e.StdReg_ref_id
//join d in Context.tblDepartments on e.Depart_ref_id equals d.ID
where s.Status == '1' && e.tblDepartment.DepartName == username
select new StdListModel
{
ID = s.ID,
Name = s.Name,
FatherName = s.FatherName,
CNIC = s.CNIC,
FormNo = s.FormNo,
DiaryNo = s.DiaryNo,
Status = s.Status
}).ToList();
foreach(var item in query)
{
model.Add(new StdListModel()
{
ID=item.ID,
Name=item.Name,
FatherName=item.FatherName,
CNIC=item.CNIC,
FormNo=item.FormNo,
DiaryNo=item.DiaryNo
});
}
return View(model);
}
但是它不返回任何model=0,query=0,数据库有正确的值,我也没有得到任何错误。请使用tolower()和trim函数检查用户名
e.tblDepartment.DepartName.ToLower().Trim() == username.ToLower().Trim()
or
e.tblDepartment.DepartName.ToLower().Trim().equals(username.ToLower().Trim())
请使用tolower()和trim函数检查用户名
e.tblDepartment.DepartName.ToLower().Trim() == username.ToLower().Trim()
or
e.tblDepartment.DepartName.ToLower().Trim().equals(username.ToLower().Trim())
我有问题。它在
s.Status == '1'
我只是把它换成了
s.Status == 1
它可以从数据库中获取数据。我遇到了问题。它在
s.Status == '1'
我只是把它换成了
s.Status == 1
它可以从数据库中提取数据。查询是否包含任何值?否,query=0。此查询中也没有错误。数据库也有正确的值。我认为查询是正确的,您知道确切的用户名了吗?检查即将出现的所有值,或者是否确实要将用户名与部门名称进行比较
e.tblDepartment.DepartName==username
Yes,用户名完全相同,并且在查询中也是。查询是否包含任何值?No,query=0此查询中也没有错误。数据库也有正确的值。我认为查询是正确的,您知道确切的用户名了吗?检查即将出现的所有值,或者是否确实要将用户名与部门名称进行比较e.tblDepartment.DepartName==username
Yes,用户名完全相同,在查询中也是如此。username对象没有ToLower().Trim()的属性。请尝试将其转换为字符串…即username.ToString().ToLower().Trim();我遇到了以下错误“LINQ to Entities无法识别方法'System.String ToString()'方法”请更改var username=HttpContext.Session[“username”].ToString();而不是var username=HttpContext.Session[“username”];和username.ToLower().Trim();而不是username.ToString().ToLower().Trim();仍然无法获取任何结果。erName对象没有ToLower().Trim()的属性。请尝试将其转换为字符串…即username.ToString().ToLower().Trim();我遇到了以下错误“LINQ to Entities无法识别方法'System.String ToString()'方法”请更改var username=HttpContext.Session[“username”].ToString();而不是var username=HttpContext.Session[“username”];和username.ToLower().Trim();而不是username.ToString().ToLower().Trim();还是没有结果