在.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 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。
一个逗逗的大学生
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有