zoukankan      html  css  js  c++  java
  • .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 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。
  • 相关阅读:
    ubuntu VirtualBox 网络配置
    Linux Lsof命令详解
    自然用户界面
    [Java]读取文件方法大全
    java设计模式_命令模式 两个不同风格的实现
    创建线程的方法 Thread Runnable
    程序员每天到底可以写几行代码?
    eclipse Javadoc 汉化成中文
    linux jna调用so动态库
    使用GNU Make来管理Java项目,IDE神马都是浮云
  • 原文地址:https://www.cnblogs.com/whuanle/p/10578319.html
Copyright © 2011-2022 走看看