C# 如果ASP.NET MVC 4中来自两个不同DB表的两个数据值相等,如何有条件地向ViewData.Model添加列表?
我正在尝试在ASP.NETMVC4和实体框架中创建一个条件语句。我需要创建一个模型列表,其中一个表中的ID等于另一个模型表中的数据。如何使用Linq更正此条件语句? 以下是我目前掌握的代码:C# 如果ASP.NET MVC 4中来自两个不同DB表的两个数据值相等,如何有条件地向ViewData.Model添加列表?,c#,sql,asp.net-mvc-4,linq-to-entities,viewdata,C#,Sql,Asp.net Mvc 4,Linq To Entities,Viewdata,我正在尝试在ASP.NETMVC4和实体框架中创建一个条件语句。我需要创建一个模型列表,其中一个表中的ID等于另一个模型表中的数据。如何使用Linq更正此条件语句? 以下是我目前掌握的代码: public ActionResult Index() { _db = new IntegrationWebDBEntities(); //This is the statement i am having trouble with. ViewData.Model
public ActionResult Index()
{
_db = new IntegrationWebDBEntities();
//This is the statement i am having trouble with.
ViewData.Model = _db.Requests.Where(r => r.id == _db.Jobs.Where(j => j.RequestID)).ToList();
return View();
}
如果请求表的id等于作业表中请求id的值,我只需要将“请求模型”添加到ViewData。注意:这两列在SQL DB中链接。您可以这样尝试:
public ActionResult Index()
{
_db = new IntegrationWebDBEntities();
ViewData.Model = (from r in _db.Requests
from j in _db.Jobs
where r.id == j.RequestID
select r).toList();
return View();
}
两个模型请求和作业之间有什么关系。是一对一还是一对多?是的,Praveen有一个很好的观点。这将有助于更好地理解这里的模式和关系。另外,在另一个表中这个值可以为null吗?如果没有为请求启动作业,该值可以为null。请求nd作业仅从job.RequestID和Request.ID链接。Request也通过Request.ID.LOL链接到其他表。我刚刚弄明白了这一点,并在您发布此信息前几分钟将其发送到了工作区!它工作了!谢谢!