2

我是 MVC3 的新手,到目前为止,我一直在使用 Linq to SQL 和存储过程来处理我的应用程序。我不知道是使用 Linq to SQL 还是使用传统的存储过程。我在这里看到了一个博客, http://weblogs.asp.net/jalpeshpvadgama/archive/2011/06/20/petapoco-with-stored-procedures.aspx , 其中在实体框架模型中使用了存储过程。

但不确定哪种方法最适合 MVC3 应用程序?

4

2 回答 2

1

两种方法的概述:

Linq 到 Sql:

Linq to Sql 为您构建 sql。您可以大致了解您的 sql 将是什么样子,但是如果您对 DB 进行更复杂的调用,则出于性能目的控制 sql 的结果将变得更加困难。

可以按照本文查看生成的 Sql 代码,但是调整 sql 会变得有点麻烦,因为您必须运行代码才能查看生成的 sql。

PetaPoco:

使用 PetaPoco(请参阅完整文档),您仍然可以使用实体来更新您的表(对于简单的 crud 操作很有用)。此外,您可以简单地为其添加一个存储过程名称,这样您就可以在 SQL Server Management Studio 中专注于您的 SQL 代码,从而轻松进行调整。

我的意见:

我发现使用 PetaPoco 比使用 Linq to Sql 更方便,因为您可以更好地控制 sql 代码。

还有一些性能方面的考虑。PetaPoco 似乎更快。

于 2012-07-20T18:02:58.650 回答
0

没有“MVC3 应用程序的最佳方式”。这完全取决于您的应用程序的要求和您自己的品味。

有各种各样的解决方案,从手动编码查询到 PetaPoco 和 Dapper 等微型 ORM,以及您可以想到的所有花里胡哨的完整 ORM,例如 nHibernate 和 Entity Framework。

不过,您的应用程序的最佳解决方案很可能是这些的混合。我发现对于大多数常见的数据访问场景,ORM 运行良好。如果您需要更高的性能或对查询的控制,Micro ORM 是您的最佳选择。你可以随意混搭。

您可能会发现这篇关于 StackOverflow 的数据访问策略的博客文章很有趣。

于 2012-07-20T18:42:22.687 回答