Entity Framework 4 任意()

Entity Framework 4 Any()

基本上我有一个查询,我需要检查数据是否存在于另一个 table。

 bool isInUse;
 IsInUse = entity.H83SAF_HEALTH_PLAN.H83SAF_CONSENT.Any();

当我使用 clutch 捕获查询以查看发生了什么时,我可以看到查询 运行ning 基本上是这样的:

 SELECT 
 "Extent1"."ACTIVE" AS "ACTIVE", 
 "Extent1"."IS_COMPLETE" AS "IS_COMPLETE", 
 "Extent1"."DATE_CREATED" AS "DATE_CREATED", 
 "Extent1"."DATE_MODIFIED" AS "DATE_MODIFIED", 
 "Extent1"."CREATED_BY" AS "CREATED_BY", 
 "Extent1"."MODIFIED_BY" AS "MODIFIED_BY"
  ...more columns..natter, natter..
 FROM "H83FTF"."H83SAF_CONSENT" "Extent1"
 WHERE ("Extent1"."HEALTH_PLAN_ID" = 1)

查询本身没问题。 .Any() 语句有问题。我认为应该发生的是当满足 .Any() 条件时查询应该突然退出。

然而,当我 运行 查询时,看起来查询带回了超过 18,000 条记录(我没有使用),我只想看看数据是否存在于另一个 table 如果满足条件 - 实际上,查询会挂起网站,同时使用 .Any() 语句执行 18,000 行。

第一行满足条件,但我的理解是.Any() 应该在条件满足时退出或停止。

我试过 firstordefault() 但它仍然在内存中获取 18000 行...

最后得出的结论是,在 EF 5.0 上使用 .Any() 不会转换为存在于 Oracle 11g 中 - 解决方案是直接调用并返回是或否。