1, laden Sie zunächst das entsprechende offizielle Microsoft .net Core SDK herunter und führen Sie esZeit entsprechend Ihren persönlichen Bedürfnissen aus (https://www.microsoft.com/net/download/core )
2. Erstellen Sie ein asp.net Kernprojekt
3. Erstellen Sie Entitäten, Benutzer und Rollen
public class User { public int Id { get; set; } /// <summary> /// 角色Id /// </summary> public int RoleId { get; set; } public virtual Role Role { get; set; } /// <summary> /// 状态 /// </summary> public int Status { get; set; } /// <summary> /// 登陆名 /// </summary> public string Login { get; set; } /// <summary> /// 登陆密码 /// </summary> public string Pwd { get; set; } }
public class Role { public int Id { get; set; } /// <summary> /// 角色名 /// </summary> public string Name { get; set; } /// <summary> /// 一个角色的多个用户 /// </summary> public virtual ICollection<User> Users { get; set; } }
4, erstellen Sie DbContext
public class EFDbContext: DbContext { public EFDbContext(DbContextOptions<EFDbContext> options) : base(options) { } public DbSet<Role> Roles { get; set; } public DbSet<User> Users { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { Role(modelBuilder); User(modelBuilder); } private void User(ModelBuilder modelBuilder) { var userBuilder = modelBuilder.Entity<User>().ToTable("User"); // Properties userBuilder.Property(t => t.Id).ValueGeneratedOnAdd(); userBuilder.Property(t => t.RoleId).IsRequired(); userBuilder.Property(t => t.Status).IsRequired(); userBuilder.Property(t => t.Login).IsRequired().HasMaxLength(30); userBuilder.Property(t => t.Pwd).IsRequired().HasMaxLength(60); // Primary Key userBuilder.HasKey(t => t.Id); // Index userBuilder.HasIndex(t => t.Login); // Relationships userBuilder.HasOne(t => t.Role).WithMany(t => t.Users).HasForeignKey(t => t.RoleId); } private void Role(ModelBuilder modelBuilder) { var roleBuilder = modelBuilder.Entity<Role>().ToTable("Role"); // Properties roleBuilder.Property(t => t.Id).ValueGeneratedOnAdd(); roleBuilder.Property(t => t.Name).IsRequired().HasMaxLength(30); // Primary Key roleBuilder.HasKey(t => t.Id); } }
5, erstellen Sie DbInitializer, der zum Erstellen von Anfangsdaten verwendet wird
public class DbInitializer { public async static Task InitData(EFDbContext context) { if (context.Database != null && context.Database.EnsureCreated()) { //角色配置 context.Roles.AddRange(new Role[] { new Role { Name="超级管理员" }, new Role { Name="管理员" } }); //默认用户 context.Users.AddRange(new User[] { new User { RoleId=1, Login="administrator", Pwd="111111" }, new User { RoleId=2, Login="admin", Pwd="111111" } }); await context.SaveChangesAsync(); } }
6, ändern Sie die Startup-Klassenmethode
Fügen Sie den folgenden Code in „ConfigureServices“ hinzu
// DbContext services.AddDbContext<EFDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
Fügen Sie
public async void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); app.UseMvc(); await DbInitializer.InitData(app.ApplicationServices.GetService<EFDbContext>()); }
7 in der Methode „Configure“ hinzu und ändern Sie die App-Einstellungen.json
{ "ConnectionStrings": { "DefaultConnection": "Data Source=.;Initial Catalog=LniceCore;Integrated Security=SSPI;" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } }
8. Führen Sie das Programm aus und sehen Sie sich die Ergebnisse an
Das obige ist der detaillierte Inhalt vonASP.NET verwendet EntityFrameworkCore CodeFrist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!