它在数据访问层中移动所有数据访问代码是更好的做法。所以简单地把这个代码放在一个单独的类中,你可以从你的控制器中引用和调用。例如,你可以定义将定义不同的操作界面:
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