【发布时间】:2014-02-27 13:36:33
【问题描述】:
我是一名初级网络开发人员,每天都在努力学习更多知识。
你们用 Linq 执行 MVC 存储库模式的最佳实践是什么?
我用的那个:
使用 CRUD 方法(如 getAll()、getOne()、Update()、Delete())使用我的 .tt 文件的确切名称创建额外的类,用实体框架填充我自己的类并返回它,或者使用实体框架原油
这是我实际在做的一个例子。
这是我的类的 getAll 方法,例如 User
public class CEmployee : CResult
{
public string name{get;set;}
public string lastname{get;set;}
public string address{get;set;}
//Extracode
public string Fullname // this code is not in the .tt or database
{
get
{
return name + lastname;
}
}
public <List>CEmployee getAll()
{
try
{
var result = (from n in db.Employee
select new CEmployee // this is my own class I fill it using the entity
{
name = n.name,
lastname = n.lastname,
address = n.address
}).ToList();
if (result.Count > 0)
{
return result;
}
else
{
return new List<CResult>
{
new CResult
{
has_Error = true,
msg_Error = "Element not found!!!!"
}
}
}
}
catch
{
return Exception();
}
}
}
我做所有事情的方式都是返回一个填充的类型,但是在网络上我看到人们通常返回实体类型,但是我这样做是为了操纵我的响应,如果我想返回额外的信息,我只需要嵌套一个列表,例如,最好的方法是什么,返回 mytype 或返回实体类型?
PD,我也像我的 ViewModel 一样使用这个类。我为我的所有类都这样做。
【问题讨论】:
-
为什么要在这里引入异常处理?不需要。
-
这可能是一个新手错误,但我在那里介绍它,原因如果它给我一个数据库超时怎么办。
-
谢谢,但是你觉得用这种方法还是使用原始的 Linq 文件更好
标签: c# linq entity-framework repository