如果模型打到相同的底层数据库,是否有方法可以组合来自2个不同实体模型的查询?我有一个使用EF进行数据访问的框架(EDM 1) 我有一个客户端应用程序,它使用框架的服务并且还使用EF作为自己的数据访问。 EDM2)跨实体数据模型撰写查询
有些情况下,我需要编写查询并加入跨2个EDM的实体。
有没有办法做到这一点,而不从第一个EDM获取内存中的数据,然后在第二个EDM的实体内存中应用额外的谓词/连接?
我希望我这阐明正确的方式
编辑 @Ladislav Mrnka: 第EDM是一个可重用的框架数据访问层。 把EF生成的实体与这个EDM相结合是没有意义的 那些消费客户端 它击败了API的可重用性,如果我这样做,我不得不随身携带附加的膨胀 (EF元数据和数据库每次我想重新部署框架时,客户端的表)。此外,这也会使设计师在管理模型时变得笨拙。
我目前使用的是什么你提到序号项目7作为solutuon和表现糟糕的 由于这样的事实,我要结束返回比使用 EDM1然后框架需要更多的数据(即实体)基于来自第二EDM中实体的 属性的值,根据谓词/条件过滤掉不需要的谓词/条件。最终结果是巨大的性能下降和不愉快的DBA。
出于这个原因我最终推动检索实体 在其中我可以访问两个电火花使用的表和申请所需 谓词和对整个查询运行在一个数据库中的存储过程所需的逻辑,而不是以使内存 的数据,然后过滤掉不必要的ones.Downside的是,我不能使用LINQ
项目你提到听起来很有趣,但是从8这听起来像我怀疑 你在设计强类型时间,还是你? 你可以上传你的代码样本吗?我可以试试吗?
难道你不能在后端执行此操作,或者sql数据库目录是否可以通过链接服务器或同等服务器查看对方? – CarneyCode 2011-02-13 10:07:00
@ Carnotaurus:这就是我目前正在做的事情。两个EDM的表格都在同一个数据库中,因此我使用Sproc来查询框架表格(EDM1)和客户端表格(EDM2)。缺点是我不能使用LINQ – 2011-02-13 23:28:57