EF动态建库时出现数据库表名变为复数的问题

来源:互联网 发布:mac把图标放在桌面 编辑:程序博客网 时间:2024/06/05 11:38


有点郁闷——自己想的,实现的时候不是自己想要的,但我觉得计算机应该能实现我想要的。记得高中政治老师说过一句话:“办法总比问题多”,探索ing~~~~~~


一、问题来源:


在做ITOO考评系统的时候,用需要户注册一个账号才能使用考试系统,由于各个学校考试的科目有些不同,也为了方便对数据库的管理,所以在成功申请一个账号的时就动态给这个账号生成一个库,需要用到EF_CodeFirst动态建库。但在建库的时候出现了不管实体写入的是不是复数的形式,生成库之后却都是复数的形式:

                                      


二、解决方案:
     

 1.在CodeFirstModel添加引用:

using System.Data.Entity.Infrastructure;using System.Data.Entity.ModelConfiguration.Conventions;

2.在OnModelCreating添加:

protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            //解决EF动态建库数据库表名变为复数问题            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();        }


三、显示结果

                    

                                               

这样就解决了——自己想要的,在用计算机实现的时候也是自己想要的。此篇是为记录,若大牛们有更好的解决方法,还望分享!

0 0