2012-09-12 31 views
2

我正在尝试使用mvc3和c#做一个小型网站,并且我有点卡住了这个LINQ查询。LINQ语句从一个表中获取值取决于其他表

我有两个表:

  1. 代理(ID,名字,姓氏,登录名,密码)

  2. 子代理(subAgentsId,agentsId)

这里Agents.id == SubAgents.agentsId

var query = from subAgent in db.SubAgents 
         join agent in Agents on subAgent.AgentID equals agent.ID 
       select agent; 

我有一个类似的代理和客户端运行的联合声明。但运行良好。不幸的是,它不断给我这个错误。

“实体命令为ExecutionException是由用户代码未处理的”

此错误弹出我准备子代理的详细信息发送到视图之前。

不知道我做错了什么。

+0

你可以发布内部异常吗? – Eranga

+0

@eranga {“无效的对象名'dbo.AgentAgentRelationships'。”} ...这是内部异常消息。这个'AgentAgentRelationships'是我数据库中第二张表的名字。谢谢:) – Sindhoor

+0

表EF是指不存在或没有访问表的权限。 – Eranga

回答

1

使用导航属性。

var query = from subAgent in db.SubAgents 
      select subAgent.agent; 
+0

谢谢你的kirk,我试过...我怎么能从另一个表中调用一张桌子。它不需要一个连接或其他东西。我对此很新,所以如果我的问题真的很抱歉,很抱歉!但我似乎无法想出这一个。再次感谢! :) – Sindhoor

+0

嗨信德,这是一个很好的问题,因为它并不总是显而易见的。如果数据库对象具有外键,那么框架将为每个相关的项目对生成属性。看我的问题http://stackoverflow.com/q/7229569/146077 –

+0

嗨,我看了你以前问过的问题。我明白这些连接是如何工作的。我得到---- {“无效的对象名'dbo.AgentAgentRelationships'。”} -----作为内部联合异常。真的不知道如何绕过它。在过去的2天里,我一直坚持这样做:( – Sindhoor

相关问题