我希望這還沒有得到回答,但我甚至不知道要搜索什麼。在哪裏存儲與模型相關的方法
我有一個MVC項目,我需要從數據庫返回一個用戶列表。夠簡單。但我只想返回某些用戶。再次,簡單的東西。
我感到困惑的是,我不知道應該在哪裏放置代碼。如果我把它放在控制器中,我會用多種方法得到相同的代碼,並分佈在多個控制器上。
我目前已經把方法返回到我的dbcontext類的用戶。這有效,似乎有道理,但我想知道是否有更好的方法來做到這一點?那個班最終會在一個更大的項目中變得更大。
我看過使用存儲庫類,但似乎是添加一個額外的圖層。我正在使用EF6,並沒有進行任何單元測試(尚未)
下面的代碼顯示了我的dbcontext類的結構(爲了保持簡短,我編輯了實際代碼)。
public class LeadsDB :DbContext
{
public LeadsDB()
: base("Leads")
{
}
public DbSet<User> Users { get; set; }
public IEnumerable<SelectListItem> GetUserList(bool includeBlank = true)
{
return UserList;
}
}
存儲庫將是您下一個合乎邏輯的步驟。這層很好。位於業務邏輯和數據庫訪問代碼之間。 – 2014-09-30 22:05:52
IMO你的'LeadsDB'類很好,絕對沒有意義在其上添加另一個抽象。 – mxmissile 2014-09-30 22:08:26
@mxmissile,你不知道他的解決方案有多大,所以暗示有*絕對*沒有意義添加另一層抽象是狹隘的。沒有激進的答案......取決於他在做什麼以及他的解決方案將取得多大成功,有不同的方法來實現他想要實現的目標。 – 2014-09-30 22:13:32