使用上下文和编译查询的实体框架

时间:2012-07-24 10:10:25

标签: entity-framework linq-to-entities

我有一个winform-application并使用EF 4.2。我在EF 4.2中读到,实体查询的linq是自动编译的。 在调用查询时,我执行以下操作:

 using (BVSEntities bvsContext = new BVSEntities(ConnectionString))
        {
            var person = (from sender in bvsContext.T_Absender
                          where sender.Absender_ID == id
                          select sender).First<T_Absender>();
            return person;
        }

问题: 1)此查询是自动编译的吗? 2)如果它是自动编译的。是否重用了编译的查询,因为bvsContext在使用后被释放? 3)如果没有,我如何重用它但不会出现任何并发问题?

1 个答案:

答案 0 :(得分:1)

  

此查询是自动编译的吗?

否,因为EF 4.2不包含自动编译查询。假设EF 4.2将包含它们,但之后EF的命名约定已经改变。自动编译的查询是.NET 4.5的一部分。 EF 4.2只是EF 4.1,有一些修复。

  

是否重用了编译的查询,因为bvsContext在使用后被处理?

.NET 4.5包含用于自动编译查询的内部缓存以重用它们。