[解決済み] DbContextOptionsBuilderでUseInMemoryDatabaseメソッドを呼び出せないのはなぜですか?
2022-05-14 07:12:02
質問
まず、SQL Liteが使えません。次に、以下のコードが表示されます。
エラー CS1061 'DbContextOptionsBuilder' は 'UseInMemoryDatabase' の定義を含んでおらず、タイプ 'DbContextOptionsBuilder' の最初の引数を受け入れる拡張メソッド 'UseInMemoryDatabase' は見つかりませんでした (using 命令またはアセンブリ参照が欠けていますか?)。
コードです。
var options = new DbContextOptionsBuilder<ProductContext>()
.UseInMemoryDatabase(Guid.NewGuid().ToString())
.Options;
var context = new ProductContext(options);
コンテキスト
using Memory.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace Memory.Data
{
public class ProductContext : DbContext
{
public ProductContext(DbContextOptions<ProductContext> options) : base(options)
{
}
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
}
私のプロジェクトのCSPROJファイル
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.5" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.6" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.3" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.3" />
</ItemGroup>
正確には、このメソッドが使えないだけなのです。私はその理由を理解していないようです。私はこの問題についての啓発を必要とします。
どのように解決するのですか?
によると
EF Coreです。インメモリを使ったテスト
のリファレンスでは
Microsoft.EntityFrameworkCore.InMemory
パッケージを使用するために
UseInMemoryDatabase()
拡張メソッドに
DbContextOptionsBuilder
:
Install-Package Microsoft.EntityFrameworkCore.InMemory
あとは、quot;テストの書き方"の項にある例に従って、以下のようにします。
var options = new DbContextOptionsBuilder<ProductContext>().UseInMemoryDatabase(databaseName: "database_name").Options;
using (var context = new ProductContext(options))
{
// add service here
}
関連
-
[解決済み】同じキーのアイテムがすでに追加されています。
-
[解決済み】Automapperにタイプマップの設定がない、またはマッピングがサポートされていない - エラー
-
[解決済み] JsonResultが特殊文字(apostrophe)を \u0027 としてパースしています。
-
[解決済み] Razor View throwing "The name 'model' does not exist in the current context".
-
[解決済み] RedirectToActionでURLが変更されない、またはIndexビューに移動しない
-
[解決済み] Web API メソッドに json の POST データをオブジェクトとして渡すにはどうすればよいですか?
-
[解決済み】認証や認可に失敗した場合、AuthorizeAttributeがログインページにリダイレクトされるのはなぜですか?
-
[解決済み】ASP.NET MVC 3 コントローラから200 HTTPステータスコードを返す方法
-
[解決済み] ASP.Net MVC デフォルトの HTTP ヘッダーを削除する方法は?
-
[解決済み] ASP.NET MVCのモデルでUrlHelperを呼び出す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] asp.net MVCの@RenderSectionとは?
-
[解決済み] Entity Framework Code Firstを使用して一意制約を設定することは可能ですか?
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] ASP.NET MVC ビューエンジンの比較
-
[解決済み】TextBoxFor()からは日付のみ。)
-
[解決済み】Html5 data-* with asp.net mvc TextboxFor html attributes
-
[解決済み】ASP.NET MVCのルートをサブドメインに基づいて作成することは可能ですか?
-
[解決済み】ASP.NET MVC 3 コントローラから200 HTTPステータスコードを返す方法
-
[解決済み】cshtmlテンプレートで関数を作成する方法は?
-
[解決済み] Entity Frameworkのデータベースを再作成する方法は?