随笔-.NET MVC LINQ常用注意

1】linq根据自定字段去重复【关键词 GroupBy、Select】

 var List = (from a02 in a02List.Where(c => true)
                            join a01 in a01List.Where(c => true) on a02.Id equals a01.Id
                            j select new
                            {
                                a01.Name,
                                a01.Id,
                                a01.Sort,
                            }).GroupBy(r => r.Id).Select(r => r.First()) .ToList();

[获取重复中的第一个]

2】linq中将base[]转化为string  【guanjiAsEnumerable()】

 var List = (from a02 in a02List.Where(c => true)
                            join a01 in a01List.Where(c => true) on a02.Id equals a01.Id
                              select new
                            {
                                a01.Name,
                                a01.Id,
                                a01.Sort,
                                a02.pImgByte
                            }).AsEnumerable().Select(x => new {
                                x.Name,
                                x.Id,
                                x.Sort,
                                pImgByteArr =  x.pImgByte != null ? System.Text.Encoding.Default.GetString( x.pImgByte) : ""

                            }).ToList();

API:应用编程接口,是一个新的(API)应用编程接口 本质上它是命名空间和类的一个集合,他的目标是:查询任意来源的数据。 数据库、业务对象、XML文件、一个数据集 1、所需要数据均出自相同的数据源,可能性很小。数据库、业务对象、XML文件、一个数据集,Web服务端 2、访问数据的难易程度完全取决于数据的存储位置。访问一个内存中的对象会比访问XML文件数据库容易。 3、原数据自身一般不是最主要显示的结果。一旦要进行整理,它就须要排序、修改、分组、调序。循环遍历,合并入一个数据池,等等。 List<Book> book=GetBooks(); //排序 Books.SortByPrice(delegate(Book first,Book second)) { Return((double)(second.Price-first.Prince)); } //遍历运算求总计 Double totallncome=0; Books.Foreach(delegate(Book book)) { Totallcome+=(book.Price*book.TotalSales); } 以上六行包含了排序,循环,合并运算,价格数据不是通过不同的类别的电子表格,Web服务或XML输入的 让数据源更易于访问,可以连接不同的数据源的数据,并且对他们执行标准化的数据处理操作,全部只需要一行代码完成。 例如:提供可以确保所有数据字段是通用类的操作,这样就必担心从数据库获取数据时类型正确转换问题。 一些数据源本没有DataProvider的支持,可以提供一种措施易于开发人员做功能扩展,创建一个支持这些数据源的Provider。 Var Query=from book in Books Where book.QuarterlySales>0 Select book=>{Name,(Price*QuarterlySales)} 四个属性和一个静态方法,该方法把五本书列表返回给任何需要该数据的页面,这里有一个C#3.0语言中的一个特性一一对象新转化器(object)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值