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
    
        }
    }
  • 相关阅读:
    博科SAN交换机基本配置(华为SNS系列交换机为例OEM博科)
    华为SNS交换机(OEM博科FC交换机)Fabric OS: v 8版本后通过https方式浏览器访问交换机Webtools显示没有匹配的加密算法套件的解决办法
    SNS光纤交换机怎样禁用 Virtual Fabric模式
    光纤网络的相关知识
    元音老人:怎样了生死
    戒淫偈【每天念十遍】。。。
    戒淫偈汇集
    净空老法师:你能这样念上一个星期试试看,肯定比你过去念十年还有效!
    修华严奥旨妄尽还原观 第6集
    贤公和尚,佛门榜样。-海贤老和尚往生纪实
  • 原文地址:https://www.cnblogs.com/james641/p/5147202.html
Copyright © 2011-2022 走看看