Linq to sql的Data层与UI层交互的方式
2010-08-31 16:25 gio.zhou 阅读(406) 评论(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层的方式一样。
方法比较土,没有新技术的运用。只是我觉得这样比较看得懂。一次和同事也讨论过这个。被说无法接受新事物。。。 不过我还是觉得适合的才是最好的。
欢迎拍砖~