zoukankan      html  css  js  c++  java
  • EF Code First教程-02.1 Fluent API约定配置

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.Entity;
    using System.Data.Entity.ModelConfiguration;
    using System.ComponentModel.DataAnnotations.Schema;
    
    namespace GTBlog.Model
    {
        public class EfDbContext:DbContext
        {
            public EfDbContext()
                : base("connStr")
            {
                
            }
    
            //增加表后在程序包管理控制台中执行下面的命令
            //Add-Migration AddBlogUrl    //新增一个数据库迁移版本   AddBlogUrl是要新增版本名称,这个名称必须是唯一的,不能重复
            //Update-Database  //更新数据库
    
            public DbSet<User> Users { get; set; }
            public DbSet<Category> Categories { get; set; }
            public DbSet<Article> Articles { get; set; }
            public DbSet<DBInfo> DBInfos { get; set; }
            public DbSet<Menu> Menus { get; set; }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder
                    .Configurations
                    .Add(new UserConfiguration())
                    .Add(new CategoryConfiguration())
                    .Add(new ArticleConfiguration())
                    .Add(new DBInfoConfiguration())
                    .Add(new MenuConfiguration());
                base.OnModelCreating(modelBuilder);
            }
    
            #region UserConfiguration
    
            public class UserConfiguration : EntityTypeConfiguration<User>
            {
                public UserConfiguration()
                {
                    HasKey(c => c.Id);
                    Property(c => c.Id)
                        .IsRequired();
                    Property(c => c.UserName)
                        .HasMaxLength(50);
                    Property(c => c.Password)
                        .HasMaxLength(50);
                }
            }
    
            #endregion
    
            #region CategoryConfiguration
    
            public class CategoryConfiguration : EntityTypeConfiguration<Category>
            {
                public CategoryConfiguration()
                {
                    HasKey(c => c.Id);
                    Property(c => c.Id)
                        .IsRequired();
                    Property(c => c.Name)
                        .IsRequired()
                        .HasMaxLength(50);
                }
            }
    
            #endregion
    
            #region ArticleConfiguration
    
            public class ArticleConfiguration : EntityTypeConfiguration<Article>
            {
                public ArticleConfiguration()
                {
                    HasKey(c => c.Id);
                    Property(c => c.Id)
                        .IsRequired();
                    Property(c => c.Title)
                        .HasMaxLength(50);
                    Property(c => c.Description)
                        .HasMaxLength(200);
                }
            }
    
            #endregion
    
            #region DBInfoConfiguration
    
            public class DBInfoConfiguration : EntityTypeConfiguration<DBInfo>
            {
                public DBInfoConfiguration()
                {
                    HasKey(c => c.Id);
                    Property(c => c.Id)
                        .IsRequired();
                    Property(c => c.Explain)
                        .IsRequired()
                        .HasMaxLength(200);
                }
            }
    
            #endregion
    
            #region MenuConfiguration
    
            public class MenuConfiguration : EntityTypeConfiguration<Menu>
            {
                public MenuConfiguration()
                {
                    HasKey(c => c.Id);
                    Property(c => c.Id)
                        .IsRequired();
                    Property(c => c.Name)
                        .HasMaxLength(50);
                    Property(c => c.Url)
                        .HasMaxLength(200);   
                }
            }
    
            #endregion
    
        }
    }
  • 相关阅读:
    8种CSS清除浮动的方法优缺点分析
    link和@import的区别
    删除表及删除表中数据的方法
    【HTML5】---【HTML5提供的一些新的标签用法以及和HTML 4的区别】
    【HTML】---HTML语义化
    【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选
    第四篇:python 高级之面向对象初级
    第三篇:python高级之生成器&迭代器
    第二篇:python高级之装饰器
    第一篇:python高级之函数
  • 原文地址:https://www.cnblogs.com/james641/p/5147202.html
Copyright © 2011-2022 走看看