EntityFramework如何在C#的现实生活中使用?

时间:2011-07-17 10:57:05

标签: c# entity-framework-4

我目前正在努力学习使用Entity Framework,因为我喜欢OR映射的基本思想。

然而,要了解这一点,我的目的是在Entity Framework中获得认证(DataAccess认证在Microsoft世界中被称为)。

在开始阅读考试书并完成实验之后,我得出的结论是,在实体框架的UI中很多事情变得非常严格(至少在书中)。我拒绝认为这就是它在现实生活中的表现。

所以我有两个问题(也许他们会一起映射):

  1. 如何在现实生活中重新处理ObjectContext?它是否真的像在实验室一样开放?他们将它传递到不同的窗户并保持打开状态。至少在重新使用我的代码方面,这对我来说至少是非常愚蠢的。因为最终会有大量的数据库问题在一个更大的项目中完全相同。

  2. 有没有人能够很好地链接到您在实际项目中用于实体框架解决方案的模式?

  3. 非常感谢你的时间!

2 个答案:

答案 0 :(得分:3)

MS认证考试与现实生活发展没有任何共同之处。这两个是完全不同的世界。因此,不要用蹩脚的方法来打扰你自己在书中完成实验室(如果你愿意的话,你可以自己做实验室并花更多的时间在正确的方法上)。这些示例不使用分层架构,也不处理关注点分离。

在现实世界中不是这样做的,但解释它是如何完成的,需要准确描述你想要做什么类型的应用程序以及你想要执行什么操作。

有关认证本身的一些信息:

我同时获得了.NET 3.5和.NET 4.0的DataAccess认证。我的经历太可怕了。特别是DataAccess .NET 4.0可能是我考过的最差的MS考试。我相信我对EF有点了解,并且我通过浏览几个章节来准备自己,我不经常在编程实体框架,实体框架4食谱,实体框架4在行动和Pro Linq中使用的主题(对于Linq-to-Sql) )+我阅读了整个ESQL参考。在我准备期间没有为此考试提供的培训套件。它根本没有帮助我。关于EF的考试问题质量很差,我大部分时间都迷失了,因为我觉得我需要更多的信息才能正确选择答案(要求提供的答案多于一个答案或者没有答案看起来是正确的)或者我需要选择更多然后答案是满足问题中的所有要求,但我只允许选择一个。

请注意,考试不仅仅与EF有关。在.NET 3.5中,考试几乎没有关于EF的问题。 .NET 3.5考试中有一半的问题与DataSet(OMG)有关。在.NET 4.0中,考试包含有关EF的一半问题,关于普通旧ADO.NET的许多问题,包括关于数据集的几个问题以及关于Linq-to-sql,MS Sync Framework和数据服务等其余主题的几个问题。

我不喜欢写它但是.NET 4.0考试使我确信大脑转储有时候很方便,因为如果你认为测试不正确或者问题不明确就没有吸引力。

答案 1 :(得分:1)

你是对的,实验室确实建议那样工作就好了。我建议你看一下Entity Framework 4 in action

大多数情况下,您将实体框架上下文放在接口后面,以减少耦合并提高可测试性。使用EF4(在4.1中甚至更好),我们现在还拥有POCO支持,这意味着您的实体不必从任何特殊的Entity Framework类继承。