有沒有辦法讓LinqPad使用EF Core上下文?

entity-framework-core linqpad

我試圖弄清楚是否有一些我缺少的東西,或者某種方式來解決DbContexts中Entity Framework Core DbContexts缺乏支持的問題。我已經編譯了我的代碼目標4.6.1(正如LinqPad論壇上建議的那樣 )並嘗試了“Entity Framework V7”驅動程序,但顧名思義,我不相信它是最新的。它仍然要求app.config文件或構造函數的連接字符串。

添加上下文對話框

由於EF Core上下文使用DbContextOptions來構造而不是連接字符串,我以為我可能會創建一個帶有連接字符串的構造函數重載,但是它不處理底層數據庫驅動程序。有沒有辦法指定工廠來構建上下文?還有其他可能嗎?沒有LinqPad,我感到很失落。

熱門答案

最新的EFCore 1.1 LINQPad驅動程序(v1.1.1.1)可以正確使用接受字符串的構造函數(在LINQPad中選擇此選項時)。

所以可以添加以下構造函數:

public ApplicationDbContext(string connectionString) : this(new DbContextOptionsBuilder<ApplicationDbContext>()
        .UseSqlServer(connectionString).Options)
    { }

這會將此上下文實例硬連接到sql server provider,但至少不會連接到字符串。此外,您的應用程序不太可能嘗試使用此構造函數,EF Core永遠不會期望/促進ctor。接受字符串。

為了更加安全,您可以將此構造函數包裝在#if DEBUG ... #endif以便它永遠不會生產。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow