如何解决如何使用Entity Framework过滤记录并显示在数据表中
我有查询(allResponse),可以使用数据表在视图中显示它:
[HttpGet]
public IHttpActionResult GetFormResponse()
{
//get list of student that match advisor star id only
//NEXT TASK
var advisorStarId = @User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1);
//List of all student that belong to advior signed in starId
var students = from a in _db.ST_ADV_STARID
.Where(a => a.ADV_STAR_ID == advisorStarId)
select a;
//List of all responses
var allResponse = from r in db.GETTING_TO_KNOW_FORM
select r;
var query = from a in allResponse
join b in students on a.STAR_ID equals b.STU_STAR_ID into c
from x in c.DefaultIfEmpty()
select new
{
STAR_ID = a.STAR_ID,PREFERRED_NAME = a.PREFERRED_NAME
};
return Ok(query);
}
这是我在提出建议后尝试的方法:
{{1}}
通过将上下文类移动到同一文件来解决
但是我只想显示table1中具有starId与table2中的starId匹配的记录,而我仍然希望table1中的所有字段 我尝试了太久。我想我想帮忙
有帮助吗?有建议吗?
谢谢!
解决方法
您可以尝试类似
var reselt = from t1 in table1
join t2 in table2 on t1.STAR_ID equals t2.STU_STAR_ID
select new
{
TABLE1 = t1,TABLE2 = t2
};
如果要访问table1
的属性,则可以像result.TABLE1.{property}
一样使用,对table2也是如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。