在MVC4和C#中的不同控制器中重构LINQ查询

时间:2013-04-28 19:54:10

标签: c# asp.net-mvc refactoring dry

我正在尝试将DRY(不要重复自己)应用到我的MVC4程序中。

我在两个不同的控制器中有两个LINQ查询。

查询是相同的。

使查询可供两个控制器使用的最佳方法是什么。

提前感谢您的建议。

1 个答案:

答案 0 :(得分:0)

基于你所说的,LINQ语句是一样的,对吗?例如,获取每小时活跃员工列表,库存物品等。

在这种情况下,最好将这些常用方法添加到您的实体模型中。如果您生成了类,则它们是部分类,因此您只需使用检索常用数据所需的例程创建一个部分类。这个类将放在你的模型文件夹中。它看起来像这样......

namespace MyNamespace.Models
{
    public partial class MyEntities
    {

        IQueryable<InventoryItem> InStockInventoryItems()
        {
            return this.InventoryItems.Where(m => m.Quantity > 0);
        }

    }
}