实体框架是否值得为新的小型应用迁移?大约 10 个表格和一个 WinForms 应用程序。
即替代方法是 DataTables/DataRows 或 Linq-to-SQL
实体框架是否值得为新的小型应用迁移?大约 10 个表格和一个 WinForms 应用程序。
即替代方法是 DataTables/DataRows 或 Linq-to-SQL
我不同意那些说 LINQ to SQL 更适合小型项目的人,这是基于将 LINQ to SQL 和实体框架用于小型项目的实际经验。我很难克服 LINQ to SQL 非常弱的模式更新场景(丢弃旧模型,重新生成新模型,然后重新应用自定义)。在大多数情况下,您可以使用这两种工具做您需要做的事情,但是如果您的 DB 模式会改变或发展,您将花费太多时间摆弄 L2S 设计器。
避免使用实体框架的最佳理由是您不理解它。我不是在这里翻转;如果你确实了解 L2S 而你不了解 EF,那么一定要使用 L2S;你可能会更有效率。但是,如果您了解这两种工具,那么 EF 几乎可以完成 L2S 可以做的所有事情,甚至更多(简单的模型更新、模型优先、代码优先模型、可定制的代码生成、RIA 服务等等……) .
Entity Framework 是一个很棒的产品 - 但它显然是为更高级、更复杂的情况而设计的,在这些情况下,您需要能够拥有一个与底层存储模型不同或可能不同的域对象模型。如果您需要 - 很好 - 但对于大多数较小的应用程序来说,这完全是矫枉过正,只会增加额外的性能杀手层。
对于小型应用程序,请使用Linq-to-SQL - 或查看Subsonic。它们都在您的表格顶部提供了非常薄且非常简单的层,它们适用于较小的应用程序。
数据表是如此 1990 年代......远离,它们很乱,它们很难使用,它们不愉快并且使用起来效率不高。
我可能会为一个小项目选择 LINQ to SQL。
远离数据表。LINQ to SQL 应该足够了,IMO。