Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq to sql L2S(LINQ到SQL)或EF(实体框架)_Linq To Sql_Entity Framework_Comparison - Fatal编程技术网

Linq to sql L2S(LINQ到SQL)或EF(实体框架)

Linq to sql L2S(LINQ到SQL)或EF(实体框架),linq-to-sql,entity-framework,comparison,Linq To Sql,Entity Framework,Comparison,我将重建一个现有的中等规模web应用程序,用于供应链管理web解决方案。核心将围绕一些项目\站点组合记录、组织\用户管理、显示特定于组织的数据(一个具有两级网格的仪表板)和一个向下展开,其中包含一些复杂的项目交易计算,以及一个强大的网格,以显示多级总计、小计等 在过去,我使用 ASP.NET2.0和后端ADO.Net 是SQL Server。我打算迁移 这是一个完整的网络解决方案 基于ASP.NETV3.5的MVC体系结构 并整合其他部分,如 成员API、验证框架、, 等这将是一个完整的过程 重

我将重建一个现有的中等规模web应用程序,用于供应链管理web解决方案。核心将围绕一些项目\站点组合记录、组织\用户管理、显示特定于组织的数据(一个具有两级网格的仪表板)和一个向下展开,其中包含一些复杂的项目交易计算,以及一个强大的网格,以显示多级总计、小计等

在过去,我使用 ASP.NET2.0和后端ADO.Net 是SQL Server。我打算迁移 这是一个完整的网络解决方案 基于ASP.NETV3.5的MVC体系结构 并整合其他部分,如 成员API、验证框架、, 等这将是一个完整的过程 重新设计。演出及 可扩展性(即处理数百万 记录,执行快速计算, 快速响应时间等)是 两个主要优先事项。此外 简单性和长期维护 任何级别的定期升级都是必要的 也有待考虑

我想知道以下两项中的哪一项可以成为满足我上述要求的健壮DAL:

  • L2S(LINQ到SQL)或EF(实体 (框架)
我已经搜索了很多,基于此,我想验证我的理解:

  • L2S是否与Win98类似-强大、稳定、简单、性能良好-
  • EF是否有点像WinXP—比win98更好,在某种程度上也很稳定,但是 稍微多一些层,所以可能有一个 性能和简单性方面的差异 与L2S相比
  • 我认为在我们的开发中不会涉及“多个数据库”,SQL Server将继续。另外,我认为我们不需要将多个表映射到一个实体,等等。。。通常,我们的DB表与实体(即用户、组织等)之间有一对一的映射,对于某些复杂的情况,如仪表板从多个表中获取记录(很可能我们需要使用存储过程和/或DB视图)。 “向下展开”页面从单个表中获取数据,但有许多计算,因此我们再次计划使用一个存储过程,它将为我们提供一个格式化的表(但此表可能与数据库中已经存在的表不同)

    <>这是一些棘手的映射,但除此之外,我们需要保持简单,考虑性能和可伸缩性。哦最后但并非最不重要的一点是,我们的最后期限很紧,所以这是一种“快车道”发展

    简单、快速、可扩展和高性能—这正是我们所需要的

    提前谢谢-请引导我

    PS:Ref链接:

    讨论-

    短-

    详情-


    列表-

    我喜欢将L2Sql与Win98进行比较,但我会将EF与Vista进行比较。。。它有着巨大的潜力,但在下一个版本发布之前,还有一些地方没有完成,这让它看起来像是千刀之死


    我正在看EF 4。。。我希望Windows 7能与您的类比保持一致。

    如果您不能等到entity v2(即.net 4.0)发布,我会说使用linq 2 sql

    如果需要,您可以稍后切换到实体

    我确实玩过entity v1,我认为它仍然是一个需要长大一点的婴儿


    linq 2 sql的另一个原因是,您将只使用sql server,这是一个快速通道项目。

    在我个人看来,使用了您提到的所有内容后,我将使用NHibernate而不是Linq2sql或实体。如果您想要的是一个简单的CRUD站点,那么这个决定并不重要,但是在ADO.Net中很难实现将业务层与数据层分离的功能,因为它要简单得多(在我看来,Nhibernate)


    正如我所说,在这方面的观点差异很大。

    我认为Linq to sql不会出错。它有它的怪癖,但它的工作。我们决定使用L2S,尽管在使用多个数据上下文时存在问题


    为了快速生成DAL,检查一下它需要Codesmith来生成代码,但是它可以做很多事情,并且解决了linq to sql的一些怪癖。还有一个是免费的,内置于VS2008中的

    我认为“鲁棒DAL”将L2和EFv1都排除在考虑范围之外。作为操作系统的比较,我认为Windows ME最适合(两者都适合)。EFv4可能具有Windows XP的潜力,现在说还为时过早。记住,微软基本上刚刚进入ORM市场,他们还有很长的路要走。哦,还有一件事——我们对使用基于ASP.NETV3.5的MVC框架感到非常兴奋。这似乎符合我们的要求。还有其他同样的想法吗?当然,我们不会离开.NET),你可能不得不用ASP.NET MVC来滚动大量的管道类型代码,如果你有时间和专业知识去走那条路线,那么就去吧。并等待.NETV4.0和EntityFrameworkV2到达。根据MS,它会比v1更好,所以我可以直接用L2S切换到v2,而不是从EFV1切换到v2。