使用实体框架的Linq查询不会产生任何结果

时间:2015-11-03 10:02:43

标签: c# entity-framework linq linq-to-entities

我正在使用linq和实体框架进行查询。我使用的数据库是Oracle。这是代码:

Entities bdd = contextWrapper.GetContext();

data = (from table in bdd.COP_PRDTICSOURES
        where (table.IDTTIC==ticketId && table.IDTPRD==productId)
        select table).AsEnumerable();

当我使用调试器查看变量bdd.COP_PRDTIC_SOURES时,它包含一个符合我的两个条件的条目。但是,在执行查询后,data变量不包含任何结果。

我的语法有问题吗?

其他一些信息:

  • 执行此查询时,我正在寻找的实体未在数据库中提交。它是在同一笔交易中创建的。
  • 之后我在数据上使用了foreach,所以这不是延迟加载的问题。

1 个答案:

答案 0 :(得分:2)

AsEnumerable不会从DB加载数据。调用它你不会执行实际的查询,只是改变它的整体执行方式。

使用ToArrayToList代替显式加载数据。或者在此系列上致电foreach