.NETCore使用EF生成数据库出错时,有哪些长尾词技巧可以快速解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计469个文字,预计阅读时间需要2分钟。
在.NET Core项目中,若使用Entity Framework建立模型生成数据库时遇到错误Could not load assembly 'xxx' + Ensure it is referenced by the startup project 'xxx' + Change to 64-bit immediately + Assume ef + public class Applica...,可尝试以下步骤解决:
1. 确认缺失的assembly是否已在项目文件中引用。
2.检查项目是否配置为64位。
3.更新Entity Framework配置。
示例代码如下:
csharp
using Microsoft.EntityFrameworkCore;using System;using System.Data.Entity;public class Application : DbContext{ public Application() : base(name=MyDatabaseConnection) { // 设置数据库初始化策略 Database.SetInitializer(new CreateDatabaseIfNotExists()); }
public DbSet MyEntities { get; set; }}
在.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 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计469个文字,预计阅读时间需要2分钟。
在.NET Core项目中,若使用Entity Framework建立模型生成数据库时遇到错误Could not load assembly 'xxx' + Ensure it is referenced by the startup project 'xxx' + Change to 64-bit immediately + Assume ef + public class Applica...,可尝试以下步骤解决:
1. 确认缺失的assembly是否已在项目文件中引用。
2.检查项目是否配置为64位。
3.更新Entity Framework配置。
示例代码如下:
csharp
using Microsoft.EntityFrameworkCore;using System;using System.Data.Entity;public class Application : DbContext{ public Application() : base(name=MyDatabaseConnection) { // 设置数据库初始化策略 Database.SetInitializer(new CreateDatabaseIfNotExists()); }
public DbSet MyEntities { get; set; }}
在.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 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

