聲明實體框架命令或數據集(ado.net)用於訪問或操縱mvc模式中的數據應該在模型中,因爲我知道,當我想要獲取數據庫中的對象列表方法應該是在模型和返回列表,控制器只應該拿到,並通過它來查看,mvc模式中模型和控制器的分離
但正如我在許多代碼decalaring在控制器方法看時,像^
//I get logged in user properties
var user = db.UserProperties.SingleOrDefault(x => x.UserName == User.Identity.Name);
Buddyship allBudees = db1.Buddyships.SingleOrDefault(u =>u.BuddiedByUserId == user.UserId);
var buds = from u in db.UserProperties
join m in db1.Buddyships on u.UserId equals m.BuddiedByUserId
where m.BuddiedByUserId == user.UserId
select new { u.FirstName, u.LastName, u.SchoolName, u.UserId };
var buddyviewmodel = new BuddyViewModel(buds //don't know what to put here);
return View(buddyviewmodel);
的這部分代碼應該在模型或控制器中?
有一個控制器,什麼都不能控制什麼?除了調用其他一些方法並將其他方法的結果傳遞給視圖外,其他操作方法只會讓我感到空間和時間的浪費。 –
如果一個方法需要調用多次,並在控制器中聲明,發生了什麼,在每個控制器中我應該聲明! – Moslem7026
當然,控制器顯然可以調用其他方法,這是代碼重用的其他原因。但是,除了將其結果傳遞給視圖之外,一個確切執行某個特定操作方法應該做什麼的方法將不可重用(除非您有兩個操作方法完全相同 - 這將非常糟糕)。 –