繁体   English   中英

在Linqpad中获取实体框架上下文?

[英]Getting entity framework context in Linqpad?

我创建了一个DLL程序集,其中包含用于northwind数据库的edmx

我通过linqpad创建了对该DLL的引用,我确实看到了db并且能够运行查询。

但是 - 我想测试DeferredLoadingEnabled属性的行为,我需要通过上下文变量设置它。

例如

ctx.DeferredLoadingEnabled = false;

但是我如何访问ctx

linqpad为我生成它,我需要访问它。

在Entity Framework 5中,等效属性是:

ctx.Configuration.LazyLoadingEnabled = false;

如果你在LINQPad中,那么你已经在上下文中,所以你可以说:

Configuration.LazyLoadingEnabled = false;

但是当我将代码从Visual Studio复制到LINQPad时,我通常只是在顶部添加一行,所以所有代码都是一样的:

var ctx = this;

使用Linqpad时,您实际上 ObjectContext中。 只需输入:

this.

你可以在你的 ObejctContext访问属性。

(另请:确保使用“C#Statement”)

Entity Framework没有DeferredLoadingEnabled属性 - 它是Linq to SQL一部分,而不是Linq to entities (EF)。

实体框架默认延迟加载。 链接表将在访问时加载,或者当您自己显式加载它们或直接使用第一个资源加载它们时(加载加载)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM