它在數據訪問層中移動所有數據訪問代碼是更好的做法。所以簡單地把這個代碼放在一個單獨的類中,你可以從你的控制器中引用和調用。例如,你可以定義將定義不同的操作界面:
public interface IRepository
{
void Insert(SignUpModel model);
}
,然後有一個正在與你正在使用(EF爲例)的數據訪問技術的具體實施:
public class RepositoryEF : IRepository
{
public void Insert(SignUpModel model)
{
using(DataClassesDataContext dc= new DataClassesDataContext())
{
Dummytable dm = new Dummytable();
dm.Name = sm.password;
}
}
}
,下一步是讓你的控制器利用這個資源庫作爲構造依賴性:現在所有剩下的就是拿起一些DI框架和線
public class SomeController : Controller
{
private readonly IRepository repo;
public SomeController(IRepository repo)
{
this.repo = repo;
}
[HttpPost]
public ActionResult Index(SignUpModel sm)
{
this.repo.Insert(sm);
...
}
}
依賴關係。
這樣,你有你的控制器邏輯和數據訪問層之間的明確分工。這將允許您分離測試應用程序的各個層次。
在那裏我已經寫了吸氣二傳手正常「的命名爲ISignUp用插入法界面」?是否可以在該模塊中包含更多課程? – Debasish
您可以在單獨的.cs文件中定義接口和實現。 –
是界面是強制需要的嗎? – Debasish