配置文件中的写法:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=.;Initial Catalog=TestDB;UID=sa;PWD=123456"
providerName="System.Data.SqlClient" />
</connectionStrings>
编写DbContext 的例子:
public class EFContext : DbContext
{public DbSet<Category> Categories { get; set; }
public DbSet<Subcategory> Subcategories { get; set; }
protected override void OnConfiguring(DbContextOptions options)
{
options.UseSqlServer(
"Server=(localdb)\\mssqllocaldb;Database=TestDB;Trusted_Connection=True;MultipleActiveResultSets=true");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Category>().HasMany(C => C.Subcategories).WithOne().ForeignKey(f=>f.CategoryId);
modelBuilder.Entity<Category>().Key(k => k.CategoryId);
modelBuilder.Entity<Category>().Property(p => p.CategoryName).MaxLength(20);
modelBuilder.Entity<Subcategory>().Key(K => K.SubcategoryId);
modelBuilder.Entity<Subcategory>().Property(p => p.SubcategoryName).Required();
}
}
实体类的写法示例:
[Required]
[MaxLength(50)]
public string UserName{ get; set; }
[Required]
[MaxLength(50)]
public string Password{ get; set;}
注释: 可能用到的标签: [StringLength(24, MinimumLength = 6, ErrorMessage = "字符长度必须6-24之间")]
[Required(ErrorMessage = "不能为空")]
[EmailAddress(ErrorMessage = "必须符合电子邮件地址格式")]
[Required(ErrorMessage = "不能为空")]
[EmailAddress(ErrorMessage = "必须符合电子邮件地址格式")]
PM> 用到的命令:
Install-package entityframework
get-help migration
enable-migration
执行 Enable-Migrations 时可能会因为错误而打断,此时需要再次运行加参数的命令Enable-Migrations -Force
add-migration FristMig
update-database