Zunächst einmal kann ich SQL Lite nicht verwenden. Zweitens gibt mir der folgende Code:
Fehler CS1061 'DbContextOptionsBuilder' enthält keine Definition für 'UseInMemoryDatabase' und es konnte keine Erweiterungsmethode 'UseInMemoryDatabase' gefunden werden, die ein erstes Argument vom Typ 'DbContextOptionsBuilder' akzeptiert (fehlt Ihnen eine using-Direktive oder eine Assemblyreferenz?)
Der Code:
var options = new DbContextOptionsBuilder<ProductContext>()
.UseInMemoryDatabase(Guid.NewGuid().ToString())
.Options;
var context = new ProductContext(options);
Kontext
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; }
}
}
Meine Projekt-CSPROJ-Datei
<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>
Das genaue Problem ist, dass die Methode einfach nicht verfügbar ist. Ich verstehe nicht warum. Ich brauche Aufklärung zu diesem Thema.



dotnet add package Microsoft.EntityFrameworkCore.InMemory