初学EF codefirst,但是遇到一些问题。让我感觉EF codefirst没网上说的那么好,是不是我了解的还不够,在园子里搜索了一下,竟然最多的是EF codefirst安装失败的解决方案。没人写一个系列来详细介绍,最多是一篇文章搭个框架。
一、EF codefirst是不是就写完自己需要的一个个model类之后,添加一个类继承DbContext类,通过config文件添加连接字符串。再写完controller类和view视图,运行便生成一个数据库文件,以后操作这个数据库文件就是了?可我遇到几个问题:
1、这个数据库文件不能用sqlserver 附加,因为一旦附加了,即使再分离出来,程序都不认这个文件了,而且如果把这个文件剪切掉再拷回来,程序也不认了。真无语。实际开发中肯定经常在sql server上做一些数据的查询验证什么的,总不能什么都用写程序,耽误时间。
2、数据文件里在开发过程中加一些测试数据,如果不小心动了那个自动生成的.mdf数据库文件,岂不是要重新建数据库,所有数据都没有了,只能重新初始化一些数据。
二、EF codefirst既然不能操作那个自动生成的.mdf文件,如何添加存储过程等,所任ef6可以生成,但是好像只是一些单表的简单的存储过程,实际项目中这是不可能的
我劝你别用 EF 了,它太简单以至于不适合你这么复杂的操作。
我只是提一下初学的疑问,你一个高人七级也不用这么嘲讽
@lippor: 这你都看出来了,悟性高啊!
@Launcher: 嘎嘎,不要这样嘛
一、1.版本的问题,自动生成的数据库使local DB,所以不能附加。你可以用数据库脚本生成后导入到sql server。
2.数据库迁移部分的教程,请好好学习下。
帮顶。最近也在学 EF
个人认为codefirst 适合用与前期有搭建框架及前期开发,后期还是生成脚本以便迁移和发布
无明白一下CodeFirst,CodeFirst是一种设计思想,就是代码先行。DataBase First是数据库先行。代码先行的思想是重业务逻辑,轻数据。即,在处理业务需求的时候先分析业务逻辑,在编码的过程中也是先写逻辑,然后根据业务逻辑的需要来创建所需的数据表。说白了就是你直接写代码,然后根据实际的需要通过代码来创建数据表。
数据库先行当然也是重业务逻辑,但他的设计思路是先进行数据层面的分析,需求来了先进行数据分析,进行数据抽象然后建立数据库及表,然后进行编码。
EF Code First提供代码先行的机制,你可以利用EF来实现代码先行的设计。
其实我比较关心codefirst 如何创建存储过程以及视图