Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果ASP.NET MVC 4中来自两个不同DB表的两个数据值相等,如何有条件地向ViewData.Model添加列表?_C#_Sql_Asp.net Mvc 4_Linq To Entities_Viewdata - Fatal编程技术网

C# 如果ASP.NET MVC 4中来自两个不同DB表的两个数据值相等,如何有条件地向ViewData.Model添加列表?

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

我正在尝试在ASP.NETMVC4和实体框架中创建一个条件语句。我需要创建一个模型列表,其中一个表中的ID等于另一个模型表中的数据。如何使用Linq更正此条件语句? 以下是我目前掌握的代码:

 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链接到其他表。我刚刚弄明白了这一点,并在您发布此信息前几分钟将其发送到了工作区!它工作了!谢谢!