.NET Core使用EF生成數據庫出錯的解決方法

在.NET Core 項目鐘(類庫),使用Entity Framework,建立模型生成數據庫時,失敗

Could not load assembly 'xxx'. Ensure it is referenced by the startup project 'xxx'.

改成 64 位即可

假設 ef 代碼

public class ApplicationDbContext : IdentityDbContext<User>

{

    public ApplicationDbContext(DbContextOptions options)
    : base(options)
    {
    }

    public virtual DbSet<User> Users { get; set; }
    public virtual DbSet<Role> Roles { get; set; }
    public virtual DbSet<Group> Groups { get; set; }
    public virtual DbSet<GroupRole> GroupRoles { get; set; }
    public virtual DbSet<Log> Logs { get; set; }
    public virtual DbSet<LogDetail> LogDetails { get; set; }



    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    => optionsBuilder.UseSqlServer(
        @"Data Source=.;Initial Catalog=DotNetCore;Persist Security Info=True;User ID=sa;Password=25423456;");

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {

        modelBuilder.Entity<User>()
                     .HasOne(d => d.Group)
                     .WithMany(t => t.Users)
                     .HasForeignKey(d => d.GroupId)
                     .OnDelete(DeleteBehavior.Cascade);

    }


}

改成 64位的方法,不要在 VS 上面改,要到 項目目錄下更改 csproj 文件

ps

有瞭模型後,即可通過遷移創建數據庫。
運行 dotnet ef migrations add InitialCreate 以為遷移搭建基架,並為模型創建一組初始表。
運行 dotnet ef database update 以將新遷移應用到數據庫。 在應用遷移之前,此命令可創建數據庫。

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: