![](/img/trans.png)
[英]C# Code First Vs. SQL Database first when using a business logic layer
[英]Considering proper way between stored procedure and C# business logic layer code
我正在使用JQGrid控件。 它非常强大,功能丰富。
现在,我必须考虑两件事。
我的问题是我有两种选择来解决此问题。
一种是使用C#LinqExtensions方法。
public static class LinqExtensions
{
public static IQueryable<T> OrderBy<T>(this IQueryable<T> query, string sortColumn, string direction)
{
...
}
public static IQueryable<T> Where<T>(this IQueryable<T> query,
string column, object value, WhereOperation operation)
{
....
}
}
另一个是使用存储过程,该存储过程允许解析参数值,其中包括排序和搜索条件。
如果我将使用第二个选项,则不再需要依赖LinqExtension类。
当涉及到Web应用程序的性能和大数据量时,哪个选项最合适?
两种方法都很好,并且可以用于任何实时应用程序。 关于这两种方法的几点要点。
StoredProcedure:强大的每次编译功能。 编写SP,以便它按分页和排序给出您的记录。 使用CTE可以进一步提高性能。 有关更多详细信息,请参见http://www.sqlteam.com/article/server-side-paging-using-sql-server-2005 。
如果您的数据库包含大量记录,则此方法将提高性能。
LinqExtensions :仍然是一个强大的功能,但是在少量数据库上确实可以很好地工作。 如果数据量很大,则会在其中看到性能问题。
我个人的选择将是第一种方法。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.