EFContext 用到的知识点

来源:互联网 发布:百度助手 网络不可用 编辑:程序博客网 时间:2024/06/07 06:21


配置文件中的写法:

<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 = "必须符合电子邮件地址格式")]



PM> 用到的命令:

Install-package entityframework

get-help migration

enable-migration
执行 Enable-Migrations 时可能会因为错误而打断,此时需要再次运行加参数的命令Enable-Migrations -Force

add-migration FristMig

update-database



0 0
原创粉丝点击