此平台不支持 LocalDB
LocalDB is not supported on this Platform
我正在尝试在 Ubuntu 17.04
上启动 .Net Core 2.0
应用程序。我之前在 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 Express Edition。
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview
这是 Ubuntu, Red Hat, and SUSE 的安装脚本。
或使用 Docker 图片:
https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker
我在从 windows 机器切换到 MacBook Pro 时遇到了这个问题。正如其他人指出的那样,LocalDB 适用于 SQL Server Express Edition。
要解决此问题,您需要安装 SQL 服务器并使用 localhost 而不是 LocalDB。
对于基于 Arch 的 Linux 系统,mssql-server 包似乎是可行的方法。
我正在尝试在 Ubuntu 17.04
上启动 .Net Core 2.0
应用程序。我之前在 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 Express Edition。
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview
这是 Ubuntu, Red Hat, and SUSE 的安装脚本。
或使用 Docker 图片:
https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker
我在从 windows 机器切换到 MacBook Pro 时遇到了这个问题。正如其他人指出的那样,LocalDB 适用于 SQL Server Express Edition。
要解决此问题,您需要安装 SQL 服务器并使用 localhost 而不是 LocalDB。
对于基于 Arch 的 Linux 系统,mssql-server 包似乎是可行的方法。