<三>数据库的创建和EFcodefirst模型的映射

第一篇的时候说过了,数据库表要用 ymnets 这位老哥文章里的数据表结构

理由是文章讲的详细,相关代码都贴出来了,

简直是傻瓜式手把手教你从零control  c/v搭建一个权限系统。相关文章移步:https://www.cnblogs.com/ymnets/p/3424309.html

好了,执行完相关sql,表结构如下:

 

 怎么样,刨除掉exception和Log表,实际上权限表才7张,虽然权限控制只控制到按钮,但是关键是简洁啊。

既然登录界面已经弄好了,那么先从登录验证开始自己的abp框架的使用之路吧。

首先是把数据表和模型建立起来。

abp默认使用的codefirst。在项目中,开发时候会比较方便,

但是在发布项目的时候一般不会使用addgration的方式去更新正式环境的数据库。

我们现在把数据库生成好了,那么要将表映射到模型,难道要手鲁模型吗?怎么搞?答案:CodeSmith....

然后把生成的模型添加到Core下的entity文件夹下。命名要规范哦,在表名后面加上Entity后缀。

 

下一步就是把映射建立起来,在EF中建立mapping文件夹存放映射文件

 

 map里的代码如下:

public  class SysModuleMap :EntityTypeConfiguration<SysModuleEntity>
    {
        public SysModuleMap()
        {
            this.ToTable("SysModule");
            this.HasKey(t => t.Id);
        }
    }

 然后找到DBContext链接上下文类下重载OnModelCreating函数,如下:

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            dynamic user = Activator.CreateInstance(typeof(SysUserMap));
            modelBuilder.Configurations.Add(user);
            dynamic Module = Activator.CreateInstance(typeof(SysModuleMap));
            modelBuilder.Configurations.Add(Module);

            base.OnModelCreating(modelBuilder);
        }

这样表映射就建立完毕了。

 

下一章咋们开始repository和application层的建设。

 

posted @ 2019-10-07 23:23  许轩霖  阅读(339)  评论(0)    收藏  举报