1

I am planning to build a web application using ASP MVC3 that runs on Azure with a SQL Azure back end. I would like to use the Microsoft stack and have no plans to ever change to another stack. I am looking into the use of WCF and WF but that would be in the future.

I looked at the traditional and Code First approach to using Entity Framework but I can't see if there is any advantage in using one or the other approach. Sure they each have advantages but for me I don't care if my classes do inherit from EF classes. All I want is to find the most efficient solution.

Can anyone out there give me some advice as to which approach might be the best.

thanks very much

Richard

4

4 回答 4

1

这实际上更像是一个收集意见的问题,可能更多地属于 StackExchange 的 Programmers 网站,但我会尝试一下:

我绝对是一个传统方法的人。对我来说,数据是关键。这是最重要的。各种对象、层、应用程序、服务来来去去,不断发展。但数据仍然存在。这就是我首先设计数据库的原因。根据我的经验,数据一直是王道。

于 2011-01-09T19:37:33.037 回答
0

也为我先编码。如果你突然开始讨厌 Entity Framework 并想切换到 NHibernate,你手头的工作就会少很多。

此外,通过将域层与数据访问层完全隔离,可以更清晰地分离关注点。

我不是 100% 确定它仍然适用,但我认为代码生成、实体框架的部分类故障可能会在测试时导致问题。

我是否首先提到代码是少了很多麻烦。

于 2011-01-10T01:46:57.867 回答
0

我会采用 Code First 方法。

Scott Guthrie 的这篇很棒的博客文章解释了它的优势。

于 2011-01-09T15:02:35.033 回答
0

Code First 是一种“架构上正确”的方法,但是当您必须考虑工作量、价值和开发速度时,实际情况往往会有所不同。

使用“模型优先”的方法更快更容易维护。只需右键单击“从数据库重新生成”即可传播数据库更改,当您忘记更改属性名称或类型时,您不会在代码中出现奇怪的错误。

话虽如此,您可以通过 EF4 中的新 POCO 支持两者兼得。您可以删除对基类的依赖关系,同时使用建模工具:

这个线程中有很多好的链接:

Entity Framework 4 / POCO - 从哪里开始?

于 2011-01-10T04:27:56.733 回答