我正在尝试将DRY(不要重复自己)应用到我的MVC4程序中。
我在两个不同的控制器中有两个LINQ查询。
查询是相同的。
使查询可供两个控制器使用的最佳方法是什么。
提前感谢您的建议。
答案 0 :(得分:0)
基于你所说的,LINQ语句是一样的,对吗?例如,获取每小时活跃员工列表,库存物品等。
在这种情况下,最好将这些常用方法添加到您的实体模型中。如果您生成了类,则它们是部分类,因此您只需使用检索常用数据所需的例程创建一个部分类。这个类将放在你的模型文件夹中。它看起来像这样......
namespace MyNamespace.Models
{
public partial class MyEntities
{
IQueryable<InventoryItem> InStockInventoryItems()
{
return this.InventoryItems.Where(m => m.Quantity > 0);
}
}
}