簡體   English   中英

LINQPad EF Core 沒有為此 DbContext 配置數據庫提供程序

[英]LINQPad EF Core no database provider has been configured for this DbContext

我正在使用 LINQPad 6(高級版)。

我已經通過 Entity Framework Core (2.x, 3.x, 5.x) 驅動程序創建了到我的自定義程序集的連接。 我選擇通過接受字符串的構造函數來實例化 DbContext。 在此處輸入圖像描述

如果我使用“C# 表達式”從此連接創建一個新查詢,它工作正常。 C# 表達式

Stuff.Take(100)

但是,如果我使用如下示例查詢選擇“C# Statement(s)”,我會收到一條錯誤消息 -

“沒有為此 DbContext 配置數據庫提供程序...”

var _context = new MyContext();

var dataModel = _context.Stuff.Include(r => r.ParentStuff).ThenInclude(c => c.ChildStuff).FirstOrDefault(x => x.StuffId == 1234);

dataModel.Dump();

此錯誤令人困惑,因為我在 LINQPad 中設置 EF Core 連接時設置了提供程序。 如果未配置數據庫提供程序,那么我認為它會為兩個查詢拋出此錯誤。

如果你想使用new創建一個新的DbContext ,你應該為場景設置你的DbContext class

在 LinqPad 中使用 EF Core 驅動程序創建連接不會自動將連接字符串發送到由new創建的DbContext實例。

所以你有兩個選擇:

  • 使用構造函數重載傳遞連接字符串,該構造函數在創建DbContext時采用 C# 語句中的字符串,例如new MyContext(connStr)
  • Select 在Connection下拉列表中與 EF Core 驅動程序的連接,並使用this來訪問DbContext中的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM