实体框架值得转向新的小应用程序吗?大约10个表和一个WinForms应用程序。
即替代方案是DataTables / DataRows或Linq-to-SQL
答案 0 :(得分:4)
基于使用LINQ to SQL和小型项目的实体框架的实际经验,我将不同意那些认为LINQ to SQL更适合小型项目的人。我很难将LINQ转换为SQL令人难以置信的弱模式更新方案(抛弃旧模型,重新生成新模型,然后重新应用自定义)。在大多数情况下,您可以使用这两种工具执行所需操作,但如果您的数据库架构将发生变化或发展,您将花费方式过多时间摆弄L2S设计器。
避免实体框架的最佳理由是,如果您不理解它。我不是在这里翻转;如果你理解了L2S并且你不理解EF,那么一定要使用L2S;你可能会更有成效。但是,如果您了解这两种工具,那么EF几乎可以完成L2S所能做的所有工作,以及更多(简单的模型更新,模型优先,代码优先模型,可定制的代码,RIA服务等等......)
答案 1 :(得分:3)
实体框架是一个很棒的产品 - 但它明确地设计用于更高级,更复杂的情况,您需要能够拥有与您的底层存储模型不同或可能不同的域对象模型。如果你需要 - 很棒 - 但是对于大多数小型应用来说,这是完全矫枉过正的,只会增加额外的性能杀手层。
对于小型应用,请使用 Linq-to-SQL - 或查看Subsonic。这些都在桌面上提供非常薄且非常简单的图层,并且它们适用于较小的应用程序。
DataTables是如此的1990年......远离它们,它们很乱,它们很难使用,它们不舒服且效率不高。
答案 2 :(得分:2)
我可能会为一个小项目选择LINQ to SQL。
答案 3 :(得分:2)
远离数据表。 LINQ to SQL应该足够了,IMO。