[英]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.