0
我正在嘗試將DRY(不要重複自己)應用於我的MVC4程序。MVC4和C中的不同控制器中的重構LINQ查詢#
我在兩個不同的控制器中有兩個LINQ查詢。
查詢是一樣的。
使查詢對兩個控制器都可用的最佳方式是什麼?
非常感謝您的建議。
我正在嘗試將DRY(不要重複自己)應用於我的MVC4程序。MVC4和C中的不同控制器中的重構LINQ查詢#
我在兩個不同的控制器中有兩個LINQ查詢。
查詢是一樣的。
使查詢對兩個控制器都可用的最佳方式是什麼?
非常感謝您的建議。
根據你所說的,LINQ語句是一樣的,對嗎?例如,獲取活躍的小時工僱員名單,庫存清單項目等。
在這種情況下,最好將這些常用方法添加到實體模型中。如果你生成了這些類,它們就是部分類,所以你只需用你需要檢索常用數據的例程創建一個部分類。這個類將放在您的模型文件夾中。它看起來像這樣...
namespace MyNamespace.Models
{
public partial class MyEntities
{
IQueryable<InventoryItem> InStockInventoryItems()
{
return this.InventoryItems.Where(m => m.Quantity > 0);
}
}
}
謝謝。我會嘗試一下並提供更新。 – user1547361 2013-04-29 00:27:27
你有BL層嗎? – Artless 2013-04-28 19:55:31
不,我正在使用實體框架數據模型並使用LINQ查詢訪問控制器中的數據。 – user1547361 2013-04-28 20:03:55
從你的控制器?不是一個好主意。如果您決定讓WebAPI爲移動應用程序執行完全相同的操作,那麼您會重複很多。控制器應該只是一個路由器,在BL層中調用相關的方法。 BL層是應該完成所有邏輯的層,而不是控制器。 – Artless 2013-04-28 20:06:10