asp.net(MVC) linq语句多条件查询

Python027

asp.net(MVC) linq语句多条件查询,第1张

linq的多条件查询无非就是用where方法。

var entitys=entityFacade.GetAll().ToDataSourceResult(request, ModelState)

 if(!string.IsNullOrEmpty(SID)){

   entitys=entitys.Where(x=>x.SID=='123')

 }

  if(!string.IsNullOrEmpty(SPwd)){

   entitys=entitys.Where(x=>x.SPwd=='123')

 }

 

 return Json(entitys)

ASP.net mvc5和asp.net.core有什么区别呢,前景如何:

区别:

asp.net mvc5只能运行在Windows,一般通过IIS发布。

asp.net core开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。

前景:

asp.net core肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net core编写的接口才能发布到linux中,也就是asp.net core编写的接口可以做成docker的镜像发布,而asp.net mvc5不能。所以最终肯定是会慢慢都转移到asp.net core上来。

但是这需要一个比较久的过程。因为从asp.net mvc5转移到asp.net core需要一定时间的学习,即使在国外也需要一定过程。而国内由于语言环境、开发工具(需要VS2015才能进行asp.net core的开发)等的原因,肯定需要更久。国内的技术一直以来也比较保守。

如果单纯的以在国内找个开发的工作的话,建议先熟悉下asp.net mvc5。如果确实有跨平台的需求,或者团队成员都对新技术有很高的热情,从事的也是全新的项目的话,就使用asp.net core。

.net core:

.NET Core 是.NET Framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]  ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。

由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。

参考资料

百度百科.百度百科[引用时间2018-1-4]

asp.net Web Forms

优点:最重要的一点解决方案多,经验丰富,什么需求基本都能找到解决方法。没有什么比服务器端控件再好用的东西了。数据绑定控件(gridview,formview),数据原(objectdatasource,sqldatasource,linqdatasouce),有了这些控件开发业务系统觉得没有比用web forms更好,更快的技术了 提供的服务多,到asp.net2.0 .net framework就提供很多非常好的服务,profile,membership,cache,Microsoft patterns &practices(企业库)UI控件,AJAX,第三支持的比较多有着很多成熟的开发模型比如微软推出petshopN层架构 。

缺点:因为使用了功能强大的服务器控件导致页面比较大,每次post,response的数据相对ajax,silverlight肯定是大的,会影响性能。

Silverlight

优点:开发富互联网应用(RIA)绝对是最合适的技术,,新版Silverlight集成GPU加速,开发3D,多媒体绝对是利器。

对于一些业务系统,做得好的,真的好看,而且好用,用户体验也很好网上可以找不少Demo

新的Silverlight开发模式MVVM虽然比较新但真的很好用,如果要做业务系统那么一定要用MVVM这个设计模式太能体现更多Silverlight开发优势(databinding 功能强大)

缺点:掌握UI设计工具的人太少,所以做不出很酷,很炫的页面效果。

与后台交互不方便,所有交互只能是web service(WCF),虽然RIA1.0也很方便,但都是异步操作,总没有web form那么直接了当。回调来对调去的还有4.0提供了很强大的匿名方法还有Action<>这些类库。

最后我只能说要想做得好真不容易。

ASP.NET MVC

我还没有用mvc 2,3做过项目只是最近做一些tutorial,给我的影响就是返朴归真,与后台交互回到了最原始Post,Response,类似回到ASP时代。

优点:层次清晰,Model,Controller,View ,Action,都有向导产生,非常规范,感觉就是很专业,像是搞大项目架构,不想web form那么随意。

页面展现和后台完全分开,去掉了服务器端控件,与后台交互使用JSON数据对象,所以性能上一定优于web form 还有同样强大的Route URL功能,搜索引擎优化SEO。

成熟的MVC设计模式。

缺点:取消了服务器端控件,使得一些业务系统的输入变得更为单调,在一些也用户的互操作上大打折扣。

与后台交互虽然比Silverlight要好点,不用异步方法,但只能post,submit还是没有web form的事件机制好用。

一定要精通javascript,Jquery,Json不然UI这关真不好过。

最后对于开发业务系统最主要还是提供用户很方便输入数据,快速响应操作,对于开发人员就能很方便保存和更新数据,能很方便调用的需要数数据,调用特定的方法,并返回需要结果。能很方便的调试代码。

虽然silverlight,asp.net mvc都是在asp.net webform后出来的技术,但也没有必要就认为Silverlight,MVC就一定比传统的asp.net webform就好。其实不关什么技术都是为了解决不同的问题而产生,每项技术都有他存在的价值。

可惜很多开发人员对web form的了解还停留在asp.net 1.0的时代,很多asp.net的新特性都没有用到,还有就是拿asp.net的开发模式去开发silverlight应用。

平台演变

1.以web2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。

2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。

3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。

使用web开发平台的目的是为了实现资源共享、节约开发成本、提高开发效率、缩短开发周期。而如今的开发平台大都采用非编码的方式或者是极少编码的方式,这样正好达到了目的。有的甚至可以减少80%的代码量,可见效率会提高多少。

早期开发平台

在IE出现之前,很多人就对如何实现快速开发做了大量的研究。诸如用友、金蝶等都有自己的开发构件库,还有SAP的ABAP开发平台等等。但是ABAP开发平台太复杂,一般的程序员一下子很难用起来;而用友金蝶的开发构件库又只能自己用,无法开放出来,所以难于通用。所以说早起的开发平台的基本状况是:要么功能强大,使用复杂;要么难于通用。

随着IE的出现,这种类型的开发平台也就被迫要转向web开发平台了。但是对于以上这些开发平台的问题的研究,可以积累web开发平台的经验,避免走更多的弯路。利用web的便利性,也能独辟蹊径,一举使得web开发平台实用起来。

编码思考

当我们一次次地重复编写类似的代码时,一次次地CTRL+C、CTRL+V的时候,我们都会想,下次把它做成一个通用的公共类,省得每次都改这么多地方,或者说等有时间了做一个业务工具,直接用工具配置一下就可以,不用写代码了。久而久之,开发平台就形成了。