簡體   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