首页 新闻 会员 周边

看完几位朋友Entity Framework系列后,如何开始用EF5.0用于实际项目开发?

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

最近准备用EF做底层架构开发项目,看完了几位朋友的EF系列博文,有几个疑问盼园子各大侠帮忙。

问题1,
我的环境是VS2010SP1Rel,可以使用EF5.0吗?还是只有VS2012才能使用EF5.0?
\EFTest\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll

\EFTest\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll
2个DLL分别是ef4.4和ef5.0,我都可以引用,编译正常。

我不想升级VS2010,又想用最新的EF5.0,可以吗?

问题2,

我的开发顺序是:先设计数据库 - 把数据模型导入到.edmx(只有视图无代码) - 生成POCO。

大家用哪个工具来生成POCO类?EF一路走来,有很多种方式,不断在进步,而且,各个博主的方式都有可能不一样,我想请教一下,在实际开发过程中,哪种更方便?

ef4.x DbContext Generator 或者 ef4.xPOCO Entity Generator,或者其他?

其实要求很简单,不想要DB Frist那些多余的代码,不需要Code Frist那些自动生成维护数据库的功能,只求一个好的、快速的实体类。

问题3,

应该如何对基于Entity Framework的项目分层呢?

http://www.cnblogs.com/fangrobert/archive/2011/08/22/2150048.html

这个哥们介绍的好像不错。

4层:

Data/Model/Entitis/:POCO

DAL:继承 ObjectContext

BLL/Services:业务层

App:Web

 

问题4:

如果用于分布式的Winform,和Silver light,或者是EF+MVC,又应该如何分层呢?

这个问题是后话,先把EF用于Web再研究这个,不过现在分好层以备后用。

同时,分布式Winform和SL,好像都需要用到wcf/web service功能,使客户端能调用服务端的方法,然后反射执行吧?这个地方我很困惑,刚实际项目中需要用到winFrom和SL。

 

希望各位帮忙指点指点,或者提供个参考地址,非常感谢。

只有200豆豆,全部送上了。

问题补充:

 为了防止UI层直接访问调用dbcontent的方法进行数据增删改查,有必要,把dbcontent看作为DAL层,再弄个BLL层,然后在BLL层里调用dbcontent的方法吗?然后UI层只允许调用BLL的方法?有没有这个必要?如果这样做的话,岂不是BLL里需要写很多没多大意义的方法?。

Lew_L的主页 Lew_L | 初学一级 | 园豆:2
提问于:2012-10-17 00:00
< >
分享
所有回答(6)
0

1.VS2010可以使用EF5.0,我在项目上已经使用。目前发现EF5.0和EF4.0的主要区别在于是否支持odata3.0协议。

2.EF生成代码,应该和ORM自动生成代码一致,导入数据库,然后生成*.edm(XML文件)和Design类

3.没有DAL,EF不支持实体扩展,但可以使用匿名对象弥补这个不足。

4.客户端调用服务端的方法,只要你的方法定义正确,调用地址正确,就可以执行相应服务端的方法

建议使用Linkpad,可以加速调试

江南_雾里看花 | 园豆:394 (菜鸟二级) | 2012-10-17 09:13

可以将EF5.0提供出来下载安装?

支持(0) 反对(0) Ruiky | 园豆:241 (菜鸟二级) | 2012-11-29 17:01
2

1. 应该行,没用过EF5.0

2.一般会用DB Frist,选择Entity Data Model进行创建。 或者直接 Code First就更加不会有多余的代码了。

3.分层的话,EF直接为DAL层,如果选择DB Frist的话,DAL层将直接包含实体,可以通过 部分类来扩展实体,将Model抽象出来放到公共层或者基础架构层,如果是CodeFirst的话,可以单独放到Model层,更好控制。
我们的3层是逻辑上的3层,不是说一个项目就是一层,Model不作为一层,可以放到基础架构层。

4.可以建领域的4层或者经典的3层,EF归DAL,Mvc划分为UI层。

Qlin | 园豆:2403 (老鸟四级) | 2012-10-17 09:59
-6

何必分层?

布尔 | 园豆:208 (菜鸟二级) | 2012-10-17 13:26
-6

文字写了很多,看着头大

az235 | 园豆:8483 (大侠五级) | 2012-10-17 17:47
0

问题1我可以给你明确肯定的答复,亲身验证可行,见我的博客文章http://www.cnblogs.com/seawaving/archive/2012/11/28/2793221.html有详细的步骤和说明

大浪淘沙 | 园豆:57 (初学一级) | 2012-11-29 20:07
0

http://www.cnblogs.com/fangrobert/archive/2011/08/22/2150048.html

easy5 | 园豆:204 (菜鸟二级) | 2014-05-06 20:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册