标签:
1. NuGet 下载EntityFramework.
2. 定义Context 和 打开NuGet 命令 执行 Enable-Migrations , Libaray.DAL.Migrations.Configuration 要在执行命令后自动产生.
using Libaray.Models.Entities; using Libaray.Models.Maps; using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Libaray.DAL { public class LibarayContext : DbContext { public LibarayContext(): base("name = LibCon") { Database.SetInitializer(new MigrateDatabaseToLatestVersion<LibarayContext, Libaray.DAL.Migrations.Configuration>()); //重要 } public DbSet<UserModel> UserModels { get; set; } public DbSet<UserInRoleModel> UserInRoleModels { get; set; } public DbSet<UserRoleModel> UserRoleModels { get; set; } public DbSet<BookModel> BookModels { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Configurations.Add(new UserInRoleModelMap()); modelBuilder.Configurations.Add(new UserRoleModelMap()); modelBuilder.Configurations.Add(new UserModelMap()); modelBuilder.Configurations.Add(new BookModelMap()); } } }
3. 修改configuration
namespace Libaray.DAL.Migrations { using System; using System.Data.Entity; using System.Data.Entity.Migrations; using System.Linq; internal sealed class Configuration : DbMigrationsConfiguration<Libaray.DAL.LibarayContext> { public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = true; } protected override void Seed(Libaray.DAL.LibarayContext context) { } } }
4. 实体类例子
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Libaray.Models.Entities { public class BookModel { public Guid BookId { get; set; } public string BookName { get; set; } public string Author { get; set; } public string BookDescription { get; set; } public DateTime BookDate { get; set; } public DateTime CreatedOn { get; set; } public Guid CreatedBy { get; set; } public DateTime UpdatedOn { get; set; } public Guid UpdatedBy { get; set; } } }
5. 实体类Mapping
using Libaray.Models.Entities; using System; using System.Collections.Generic; using System.Data.Entity.ModelConfiguration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Libaray.Models.Maps { public class BookModelMap : EntityTypeConfiguration<BookModel> { public BookModelMap() { this.HasKey(u => u.BookId); this.Property(u => u.BookId).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity); } } }
标签:
原文地址:http://www.cnblogs.com/VirtualMJ/p/5178090.html