• .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 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。
  • 相关阅读:
    WinAPI: midiOutReset 重置输出设备
    WinAPI: midiOutLongMsg 向输出设备发送一条系统专用的 MIDI 消息
    WinAPI: midiInStart 启动输入
    WinAPI: midiOutClose 关闭输出设备
    WinAPI: midiInStop 停止输入
    bootstrap居中
    设计模式之访问者模式
    zend framework 开发环境搭建及入门
    转:GIT GUI使用
    Asp web.config详解
  • 原文地址:https://www.cnblogs.com/whuanle/p/10578319.html
Copyright © 2020-2023  润新知