我正在学习实体框架并构建一个简单的Web应用程序。我在Visual Studio中使用ASP.net网页(Razor 3)。
我想为数据库操作创建一个基本结构。我有实体,我可以添加,用它更新记录,但我还在为那些使用一个类。我有一个名为cDB的类,其中有很少的方法如下:
public class cDB
{
private maasEntities1 m = new maasEntities1();
public void createUpdateBranch(Branch branch)
{
if (branch.bra_id == 0)
{
m.Branches.Add(branch);
}
}
public void saveChanges()
{
m.SaveChanges();
}
public maasEntities1 getContext()
{
return m;
}
}
这很简单,我现在只是添加记录。我对此几乎没有问题:
我想在整个项目中使用一个DBContext,如果我需要从中读取一些数据,例如,如果我想列出一个分支的详细信息,我会这样做:
cDB DB = new cDB();
Branch curBranch = new Branch();
curBranch = DB.getContext().Branches.Find(1);
这是正确的方法吗?
我可以在页面中使用 m.Branches.Add(branch); 代码,也许我不需要在cDB类中执行此操作?它虽然看起来更好?
我检查这是一条新记录还是这样的更新:
if (branch.bra_id == 0)
{
m.Branches.Add(branch);
}
再次,这是正确的方式吗?
由于
答案 0 :(得分:2)
无论何时添加抽象层,您都需要准确理解抽象所获得的内容。恕我直言,在EntityFramework之上添加存储库模式并没有添加任何有用的东西,因为EF DbContext是存储库。