0

我正在开发的小型 Web 应用程序变得越来越大。我注意到,在发布表单或仅调用其他函数时,我传递了由 ID 或 Model 类的整个实例组成的参数。

从性能的角度来看,传递整个模型对象(填充值)对我来说更好还是应该传递 ID,然后从数据库中检索?

谢谢!

4

3 回答 3

1

为了性能优势,您可以做很多事情,常见的事情是

1) 在 LINQ 使用中获取尽可能多的记录,例如自定义分页(skip and take 方法)

2)在控制器中使用数据缓存,对与视图绑定的列表使用缓存依赖项

3)使用编译查询来获取记录。(见这里

应用所有这些并查看可标记的页面加载速度。

编辑:对于 ID 建议,在这个问题中,如果您仅传递 ID 并从数据库中获取模型的其余部分或传递填充模型,那么两者都会对性能产生相同的影响。

于 2012-09-01T05:10:14.380 回答
0

不要解决尚不存在的问题。使用工具来衡量性能问题,然后尝试解决。

于 2012-09-01T23:01:45.483 回答
0

最好从用例中考虑这些。例如,如果我想通过 ID 获取一个项目,那么我传递的是 ID,而不是填写了 ID 的整个对象。

我使用 WCF 服务来托管我的 BLL 并连接到我的 DAL,因此传递数据是一项代价高昂的工作,所以我很少这样做。

如果我需要更新一个对象,我会传递这个对象,如果我只想对一个对象执行一个操作,例如删除或获取,我会使用 ID。

于 2012-09-02T12:32:24.423 回答