web-dev-qa-db-ja.com

LocalDBはこのプラットフォームではサポートされていません

.Net Core 2.0Ubuntu 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");
    }

}

何が原因なのか知っていますか?

9
YTerle

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