我正试着在Ubuntu 17.04上启动.Net Core 2.0个应用程序.我之前是在Windows10上开发的,运行得很好.问题是,当我运行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

以下是UbuntuRed HatSUSE的安装脚本.

或使用Docker图像:

https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker

Database相关问答推荐

在使用FT.AGGREGATE聚合数据时,如何在Redis上解析ISO 8601时间?

postgres 索引扫描的启动成本(postgresql 书的内部 struct )

Ruby on Rails:before_save 字段为小写

数据库设计 - 类别(categories)和子类别(sub-categories)

在 SQL Server 2008 R2 中,如何强制一列对于整个表是唯一的?

类似 Hibernate 的 C++ 框架

Spring 的 JdbcTemplate 是否在查询超时后关闭连接?

我们如何保存在 sqlite3 中创建的数据库

表别名如何影响性能?

Mysql用户创建脚本

使用 PDO 获取单行单列

在 SQLite 数据库中加入 3 个表

如何一次插入1000行

将一行连接到另一个表中的多行

如何删除除了postgres中的少数数据库之外的所有数据库

Firebase 排行榜排名

将内存数据库保存到磁盘

如何更正此 sql 连接上的相关名称?

SQLite 数据库方案作为实体关系模型

位图索引有何帮助?