C# 在web应用程序中构造存储库和实体框架的正确方法
我正在学习实体框架并构建一个简单的web应用程序。我正在Visual Studio中使用ASP.net网页(Razor3) 我想为数据库操作创建一个基本结构。我有实体,我可以用它添加、更新记录,但我仍然在为这些实体使用另一个类。我有一个名为cDB的类,其中有几个类似的方法:C# 在web应用程序中构造存储库和实体框架的正确方法,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我正在学习实体框架并构建一个简单的web应用程序。我正在Visual Studio中使用ASP.net网页(Razor3) 我想为数据库操作创建一个基本结构。我有实体,我可以用它添加、更新记录,但我仍然在为这些实体使用另一个类。我有一个名为cDB的类,其中有几个类似的方法: public class cDB { private maasEntities1 m = new maasEntities1(); public void createUpdateBranch(Branch
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;
}
}
if (branch.bra_id == 0)
{
m.Branches.Add(branch);
}
这很简单,我现在只添加记录。关于这一点,我有几个问题:
cDB DB = new cDB();
Branch curBranch = new Branch();
curBranch = DB.getContext().Branches.Find(1);
这样做对吗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;
}
}
if (branch.bra_id == 0)
{
m.Branches.Add(branch);
}
再说一次,这是正确的方法吗谢谢每当你添加抽象层时,你都需要准确地理解你从抽象中获得了什么。依我看,在EntityFramework之上添加存储库模式并没有添加任何有用的内容,因为EF DbContext就是存储库
进一步阅读:确保遵循常见的C#约定。例如,“bra_id”可能应该是“BranchId”,而“cDB”可能应该是“CountryDatabase”或C代表的任何东西。函数应该大写,所以“saveChanges”应该是“saveChanges”。这没什么大不了的,但如果其他开发人员可能会看你的代码(例如,StackOverflow上的人或你的同事),那么融入其中是个好主意。@mason你说得对,Entity Framework对我来说是一个新的开始,也是改变一些坏习惯的好时机,谢谢。我现在想它对我没有任何帮助,但它看起来很好。但你可能是对的。我现在就把它取下来,看看是否需要类似的东西。