.Net Core 2.0
でUbuntu 17.04
アプリケーションを起動しようとしています。以前にWindows 10で開発しましたが、うまく機能します。問題は、dotnet ef database update
を実行すると、次の例外が発生することです。
System.PlatformNotSupportedException: LocalDB is not supported on this Platform.
これが私のDbContext
です:
public class NutritionContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Meal> Meals { get; set; }
public DbSet<Dish> Dishes { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<Plan> Plans { get; set; }
public DbSet<MealDish> MealDishes { get; set; }
public DbSet<Ingredient> Ingredients { get; set; }
public DbSet<PlanDetail> PlanDetails { get; set; }
public DbSet<UserPlan> UserPlans { get; set; }
public DbSet<AuthUser> AuthUsers { get; set; }
public NutritionContext()
{
}
public NutritionContext(DbContextOptions options) : base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
"Server=(localdb)\\mssqllocaldb;Database=NutritionDatabaseNew;Trusted_Connection=True;MultipleActiveResultSets=true");
}
}
何が原因なのか知っていますか?
LocalDbは、SQL Server Express Editionのパッケージ化メカニズムであり、Windowsでのみ使用可能です。 Ubuntuでは、SQL Server 2017をインストールできます。
https://docs.Microsoft.com/en-us/sql/linux/sql-server-linux-overview
https://docs.Microsoft.com/en-us/sql/linux/sample-unattended-install-ubunt