首页 新闻 会员 周边

关于CodeFirst数据迁移问题

0
悬赏园豆:15 [待解决问题]

 目前我们做数据库迁移,是运用Codefirst的自动映射加上表表数据导入。但是对于视图 和存储过程需要每次到处脚本,到新的数据库去执行,感觉太麻烦,Ef是否支持对试图和存储过程的创建呢?这样做到完全的不依赖于数据库,实现完全的自动化迁移。

Richard__Lee的主页 Richard__Lee | 初学一级 | 园豆:29
提问于:2014-05-02 17:17
< >
分享
所有回答(2)
0

目前,EF对存储过程的支持并不完善。存在以下问题:

l EF不支持存储过程返回多表联合查询的结果集。

l EF仅支持返回返回某个表的全部字段,以便转换成对应的实体。无法支持返回部分字段的情况。

l 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程

l EF不能直接支持存储过程中Output类型的参数。

l 其他一些问题。

wongdavid | 园豆:394 (菜鸟二级) | 2014-05-02 22:08

其实Ef的SqlQuery〈T〉可以把存储过程以sql语句的形式执行,可以把查询字段与T一一映射,也可以得到output参数。 

支持(0) 反对(0) Richard__Lee | 园豆:29 (初学一级) | 2014-05-03 14:14
0

CodeFirst是一个不负责任的设计.

似乎在简化程序员的工作.

但对整个项目的维护工作变迁问题,其实是不利的.

这个不用我说,你自己知道.何况EF对sqlserver支持有好,其他不是很完美.

EF的实战性不强.性能有隐患.

传统的模式:数据库建模-->生成数据库.这是可行的.何必用codefirst?

迅捷网络[来送福利] | 园豆:576 (小虾三级) | 2014-05-03 09:31

Ef的三套映射机制中,目前最灵活,最可取的还是CodeFirst ,它的条件解析所带来的方便快捷开发可以说是其他Orm框架所没有的。至于维护来说,相对于Nh还是便捷多了。我没研究兄台的Orm,但是自己以前写过Orm框架,优化到最后还是避免不了sql 拼条件,对于复杂的操作还是个麻烦,总之,其他Orm所有的的功能和特点,ef都支持,所以企业级开发,中小型项目还是不错的选择。

支持(0) 反对(0) Richard__Lee | 园豆:29 (初学一级) | 2014-05-03 14:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册