Linq to sql的Data层与UI层交互的方式
2010-08-31 16:25 gio.zhou 阅读(412) 评论(0) 收藏 举报之前一篇文章写了我对于使用Linq to sql取数据后如何和UI层交互的迷茫。因为方法太多了。但是我写程序有一定的固执。喜欢采取每一个种方式都有一个说法。
比如过去使用原生态写Sql用ado.net方式交互时。要么全部返回datatable要么全部返回自定义的类。都可以。只要在每个项目本身是统一的就行。项目与项目之间不同这个无所谓。
好了,这篇文章我要写的就是我第一个Linq to sql的方式中将采取如何的形式。(Linq to sql就看了1周。也没有做过实际项目。有错误或者不理想的地方请予以指出)。
首相取数据分为2种,当表和多表联合查询。
单表查询:
public static IQueryable<Ic_Permission> GetPermissionList()
{
InfoCollectDBDataContext infoCollectDataContext = new InfoCollectDBDataContext();
var obj_Ic_Permissions = from a in infoCollectDataContext.Ic_Permissions select a;
return obj_Ic_Permissions;
}
多表查询:
public static IQueryable<InfoEntity> GetPermissionAndUserList()
{
InfoCollectDBDataContext infoCollectDataContext = new InfoCollectDBDataContext();
var oo = from a in infoCollectDataContext.Ic_Permissions
from b in infoCollectDataContext.Ic_Users
where a.id == b.permission_id
select new InfoEntity() { Uid = b.uid, Permission_Name = a.permission_name };
return oo;
}
public class InfoEntity
{
public string Uid
{
get;
set;
}
public string Permission_Name
{
get;
set;
}
}
多表查询时返回一个作为数据载体的类。就和我过去使用自定义的Entity类贯穿Data、Bussiness、UI层的方式一样。
方法比较土,没有新技术的运用。只是我觉得这样比较看得懂。一次和同事也讨论过这个。被说无法接受新事物。。。 不过我还是觉得适合的才是最好的。
欢迎拍砖~
浙公网安备 33010602011771号