在一次数据库中获取不相关的实体

时间:2010-05-11 17:28:59

标签: entity-framework

我有3个实体彼此无关,我想在一次数据库中获取所有这些实体我该怎么办?

由于

3 个答案:

答案 0 :(得分:1)

您可以使用Future Query扩展方法。这个link可以根据需要完成工作。

答案 1 :(得分:0)

你可以用:

 var result = from foo in ctx.Foos
              from bar in ctx.Bars
              where foo.id == xxx && bar.id == yyy
              select new { Foo = foo, Bar = bar};

这将在同一个查询中获取特定的foo和bar。 虽然,这会产生一些非常低效的SQL,所以我不会推荐它。

答案 2 :(得分:0)

如果要从纯关系数据库检索数据,则应查看是否可以在单个查询中检索多个结果集。或者,如果您可以获取不规则的结果,请在具有相应形状的树结构中检索这些结果。

如果您与数据库的连接不够智能,您可以使用结果的通用连接,然后返回以某种形式标记的联合查询,以确定哪个结果来自哪个表。

您没有说明减少往返的原因,但您也可以使用类似存储过程的东西来收集服务器上的所需数据,然后将其返回到一个结果集中。