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
    
        }
    }
  • 相关阅读:
    计算机基础总结
    Apache安装错误 APR not found解决方法
    一、编译错误
    2.2 进程控制之进程共享
    2.1 进程控制之fork创建子进程
    ARM串口控制终端命令
    u-boot、kernel、root系统烧写和挂载命令命令
    8.1 编写USB鼠标驱动程序,并测试
    八、USB驱动分析
    Source Insight的使用
  • 原文地址:https://www.cnblogs.com/james641/p/5147202.html
Copyright © 2011-2022 走看看