相关疑难解决方法(0)

Dot Net Entity Framework数据库更新不会在mysql数据库中创建表

我正在使用MySql官方连接提供程序作为数据库.我正在尝试使用mac上的下一个项目示例(asp.net core 1.0):

public class BloggingContext : DbContext
{
    public BloggingContext(DbContextOptions<BloggingContext> options)
        : base(options)
    { }

    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }

    public List<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content …
Run Code Online (Sandbox Code Playgroud)

c# mysql database entity-framework asp.net-core

9
推荐指数
1
解决办法
5050
查看次数

Postegres ef-core 更新数据库产生“42P01:关系“__EFMigrationsHistory”不存在”错误

设置

Asp.NET core网站2.2和EF Core 2.2
具有多个模式的Postgresql数据库,并且其中一个模式已经有__EFMigrationsHistory


当尝试时

Add-Migration x1 -Context YodaContext 有用

但是当第一次尝试以下语句时
Update-Database -Context YodaContext(我在此架构中没有任何表,这是第一个更新数据库),我看到以下错误。

Failed executing DbCommand (85ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT "MigrationId", "ProductVersion"
FROM "__EFMigrationsHistory"
ORDER BY "MigrationId";
Npgsql.PostgresException (0x80004005): 42P01: relation "__EFMigrationsHistory" does not exist
   at Npgsql.NpgsqlConnector.<>c__DisplayClass161_0.<<ReadMessage>g__ReadMessageLong|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Npgsql.NpgsqlConnector.<>c__DisplayClass161_0.<<ReadMessage>g__ReadMessageLong|0>d.MoveNext() in C:\projects\npgsql\src\Npgsql\NpgsqlConnector.cs:line 1032
--- End of stack trace from previous location where exception was thrown ---
   at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming) …
Run Code Online (Sandbox Code Playgroud)

postgresql npgsql entity-framework-migrations ef-core-2.2

6
推荐指数
2
解决办法
8929
查看次数

MySql上的EF Core`update-database`失败,`__EFMigrationsHistory'不存在。

我在.net core 1.1中使用单个用户帐户标识创建新项目。我在Startup.cs中添加MySql提供程序:

services.AddDbContext<ApplicationDbContext>(options => 
        options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时update-database会出现如下错误:

MySql.Data.MySqlClient.MySqlException: Table 'cloud.__EFMigrationsHistory' doesn't exist    at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
    at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.EntityFrameworkCore.Storage.Internal.MySQLRelationalCommand.Execute(IRelationalConnection connection, String executeMethod, IReadOnlyDictionary`2 parameterValues, Boolean closeConnection)
    at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
    at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations() 
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
    at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType) 
   at Microsoft.EntityFrameworkCore.Tools.Cli.DatabaseUpdateCommand.<>c__DisplayClass0_0.<Configure>b__0()
    at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
    at Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(String[] args)
 Table 'cloud.__EFMigrationsHistory' doesn't exist 
Run Code Online (Sandbox Code Playgroud)

我该做什么?

c# mysql entity-framework entity-framework-core asp.net-core

2
推荐指数
1
解决办法
4031
查看次数