1.继续在之前的所做的项目上继续编写程序我们此次要新建两个文件夹,一个是ViewModels,一个是DAL。Models里存放对应于数据库中的实表
ViewModels这个文件夹现在还没用上就先不说。DAL主要是放数据访问的相关类第一个类,让他继承System.Data.Dbcontext,用这个来完成EF的功能。先为entity set创建一个DbSet,entity set对应数据库中的一张表,再之后指定一个连接的字符串
,再之后指定表名。
2.配合上面连接字符串的那里把web.config中的连接字符串给指定了,要贴着appsettings配置界面上添加。
3.创建initializer,使用Ef初始化数据库,插入示例数据。
让新建的Accountlnitializer继承DropCreateDatabaseIfModelChanges<AccountContext>,用于当第一次运行程序时新建数据库,插入测试数据;model改变(和database不一致)时删除重建数据库,插入测试数据。
上面的这个Seed方法主要是通过context将entities添加到database中(桥梁作用)。修改web.config,通知EF使用我们刚刚写好的initializer类
4.最后修改我们之前的代码,在lSysUser中添加Email字段,同样要在Accountlnitializer中也添加这个字段
在AccountController中添加一个database context对象,在修改HttpPost类型中的login,查询数据库进行比对。
重点:我的运行出错了,显示的是无法加载*.MVCApplication,(*代表的是项目名称),之后百度,说的是global的名字与命名空间不一致,查看过后一致,pass掉;再之后说是输出路径不是bin,查看过后是bin,pass掉;再之后是mvc程序集引用的版本不对,无法生成项目,但我不知道怎么改,最终找了个大神,给我演示了一遍,打开程序包管理器控制台,输入install-PackageMicrosoft。Asp.MVC-Version5.2.3。但安装失败,有重新卸载Uninstall-PackageMicrosoft。Asp.MVC和UninstallPackageMicrosoftAsp.MVC.zh-Hans,再重新加载install-PackageMicrosoft。Asp.MVC-Version5.2.0(本来以为是5.2.3,之后才知道是5.2.0)