09 2012 档案

摘要:回到目录linq中也有像T—SQL的distinct方法,可以将重复的结果集去重,以下是我们使用 distinct()时需要注意的地方:1 distinct去重记录要求每个字段都重复时,才算重复对象,这与T—SQL保持一至2 disinct语句与orderby语句可以放在一起使用,对彼此不产生影响3 distinct是在数据库端进行的操作,即,你在linq中的distinct与T-SQL的distinct效果一样,不会产生性能问题4 distinct的数据集中不能有复杂对象,如果出现List<T>这种引用类型,那LINQ在解释成T—SQL时,将会把distinct()去掉,从而使去 阅读全文
posted @ 2012-09-25 11:02 张占岭 阅读(3076) 评论(1) 推荐(2)
摘要:回到目录无论是Linq To SQL还是Linq To Object(Entity frameworks)它们都为开发人员提供了Insert操作,及Insert集合操作,即InsertOnSubmit和InsertAllOnSubmit,前者是将一个实体标记为一个插入状态,而后都是将一个集合标记为插入状态,而当前进行这两种操作时,你并没有与数据库进行连接,这就是LINQ提倡的延时加载,那它们什么时候与数据库进行真正的交互呢,实现上,实验表明,是在触发SubmitChanges方法时,才会真实与数据库进行操作,这是正常的,也没有什么可以说的。 而今天我主要说的就是,当我们进行批量插入时,用lin 阅读全文
posted @ 2012-09-22 23:18 张占岭 阅读(1310) 评论(2) 推荐(1)
摘要:回到目录我们在开发MVC项目时,由于项目比较大,往往会根据模块去建立Areas,这样不仅可以使程序的结构清晰,而且也有利于进行路由的部属。而在进行Areas的开发时,我们往往会有这样的情况:1 Areas下有自己的_Layout模板,而我们希望所有Areas都用公用的(~/views/shared)下的模板,这样我们应该怎么做呢?两个模版的名称是一样的,在MVC中它会优先使用那个呢?这是我们所关注的问题,经过测试表明,在默认情况下,MVC会使用自己Areas里定义的模板,而不会使用View/Shares目录的,这很正常,因为它的优先级肯定是以离它最近的那个模板为主。总结 views的查询顺应是 阅读全文
posted @ 2012-09-20 11:32 张占岭 阅读(2169) 评论(4) 推荐(4)
摘要:在写完第一篇和第二篇MVC路由文章后,我觉得还不够,还应该再具体一点说一下分类筛选与MVC路由,如何快速完成一个分类筛选,分类筛选的高亮如何实现,以及MVC路由参数的顺序对参数值的影响等等。今天要说的:一 MVC路由参数的顺序对参数值的影响二 快速完成一个分类筛选三 根据RequestContext.RouteData来实现高亮的菜单一 MVC路由参数的顺序对参数值的影响我们看这两个路由的规则,几乎是相同的,但有个地方你是否注意到,在路由规范中grade与subject参数的顺序是不同的,这个参数顺序在程序中启到什么作用呢?经过实验证明,参数靠后的值会在routedata字典中保留,即当你改变 阅读全文
posted @ 2012-09-19 11:34 张占岭 阅读(1309) 评论(4) 推荐(1)
摘要:今天继续说一下昨天没有说完的东西,(如果对MVC路由基础不了解,可以先看这篇)事情是这样的,在单击某个“分类”后,如果再单击别一个分类,希望把原来的分类记住,这个需要很正常,几乎所有网站都是这样做的,MVC实现这个功能当然是很简单了,呵呵。MVC中的路由功能实事上你在使用ActionLink时是自己为你填充参数的,如果你不为参数赋值,它使用的是当前的参数值:下面是几种比较有说服力的链接方式:1 @Html.ActionLink("当前路由参数", "About")2 @Html.ActionLink("一年级", "Abou 阅读全文
posted @ 2012-09-19 09:57 张占岭 阅读(987) 评论(3) 推荐(1)
摘要:MVC开发环境为我们提供简单的,友好的,方便的,路由功能,我们可以通过global.asax对它进行URL路由的设置,它会帮助我们自己检索你controller下的action,它会根据你action的方法签名来进行路由重写的“匹配工作”,而且它的匹配是自上而下的,即第一个满足路由时,即重写URL。实例:我们希望得到的URL地址是这样的:怎么去实现?你可以会说,传个string的变量就可以了,这和原来的WEB FORM没有什么区别呀,如果你是这样实现的,那我要告诉你,你根据就没有用MVC的路由功能,正确的做法是在global.ascx中设置你的路由规则1 routes.MapRoute(... 阅读全文
posted @ 2012-09-18 18:16 张占岭 阅读(3418) 评论(4) 推荐(4)
摘要:回到目录你是否有过从LINQ-TO-SQL的上千个表中找某个表而发愁呢,我是有过,确实很不好找,而且这方法的工具与说明文档非常少,工具有也是收费的,而做为“免费”的我们,从来对收费的概念是距而远之的。VS IDE是否有针对DBML文件的查找功能呢?对不起,这个查找对DBML是不灵的,呵呵,那是否有灵的呢,有,当然有,因为我已经找到了定位linq to sql实体的方法了,呵呵!在linq to sql的dbml文件空白处右击鼠标-》属性然后,我们可以在“属性”窗口中,选择你需要定位的类名,然后,它就会自己在模型中定位了,呵呵!怎么样,很神奇吧,那就让我们记住它吧,呵呵!回到目录 阅读全文
posted @ 2012-09-18 17:43 张占岭 阅读(758) 评论(1) 推荐(4)
摘要:对于页面的CSS样式,我们开发人员一般只会写一种方式,但一方式很难去适应所有浏览器,或者同一浏览器的各种版本,但如果你要设计一个完美的系统,又必须要去考虑这个问题,下面是我对CSS样式设计的一个想法:1 将公有部分,没有兼容的部分放在一个CSS文件里2 将各个浏览器的个性CSS代码(有兼容性的代码)分别放在自己的文件中3 通过CSS的IF来进行动态的选择看代码: 1 <link href="site.css" rel="stylesheet" type="text/css" /><!--公有通用样式CSS文件--&g 阅读全文
posted @ 2012-09-13 11:41 张占岭 阅读(1040) 评论(0) 推荐(0)
摘要:网上的资料不少,但都是怎么去安装,我想有点基础的人都知道这个,没什么好说的把网站名称,数据库链接串(可以是SQLCE的,可移植性好),自己设置就行了但当你第一次选了SQLCE,如果想把它改为SQLSERVER,那orchard就没有方法了,这一点真的很烂。还好,我找了很久,很到了,(这个网上没有任何文章资料),你可以在model中开启这个找到这个module(module就是orchard的mvc项目里的一个AREA区域),什么主分站,都是骗那些不懂MVC的人的,其实orchard就是一个网站你加的子站就都是主站的文件夹而以,没什么特别的。要把MultiTenancy这个东西开启,然后你的SQ 阅读全文
posted @ 2012-09-13 09:50 张占岭 阅读(1704) 评论(2) 推荐(4)
摘要:Orchard的文章说的不够清楚,用的几天还是没有什么进展,所以决定分块吃它,第一,先吃它的Content Type,Content Parts和Content Items.下面是我对这三个东西的理解,如有不准确,随时来信。一 content type是指定某种要被重用的类型,也就是内容类型,它由若干个content parts组成。二 content parts是指某种要被重用的HTML代码块,它由某干个Fields(功能组,代码单元,最小页面元素单位)组成,每个fields都叫做part三 content item它是指具体的页面,它不被重用,你可以建立某种content type的con 阅读全文
posted @ 2012-09-12 15:01 张占岭 阅读(1408) 评论(4) 推荐(1)
摘要:MVC3+EF+Autofac网上这种文章确实没有,呵呵,今天就写一个,代大家分享!这个系列的文章将带我们进入一种新的开发模式,注入开发模式,或者叫它IOC模式,说起IOC你可以这样去理解它,它为你的某个实现流出一个注入点,你生产的对象,可以根据你之前的配置进行组合,这是可以的。而注入点的位置及方式也是多种多样的,我们今天主要说一个通过HTTP请求进行注入的方式,IOC工具使用高效的Autofac,对它的认识你可以看这篇文章。首先看一下我们这个项目的知识点:MVC3~一个对UI层进行分层的架构模式,在微软的MVC3中加入了开源的Razor引擎EF~这无疑是微软自己比较成功的ORM工具,它执行效 阅读全文
posted @ 2012-09-06 09:14 张占岭 阅读(14429) 评论(23) 推荐(16)
摘要:毫无疑问,微软最青睐的IoC容器不是spring.net,unity而是Autofac,因为他的高效,因为他的简洁,所以就边微软主导的orchard项目用的也是它,下面我用一个简单 的实例来说明一个Autofac的用法。 我们现在去调用它一样吧: 怎么样,搞简单吧,下一讲我将针对orchard项目, 阅读全文
posted @ 2012-09-05 13:04 张占岭 阅读(26437) 评论(6) 推荐(11)
摘要:Func和Action这两个东西可以说是为代码简化了不少东西,不仅我们在平时用的多,就连微软自己也经常在用它们,最近看了orchard项目,就发现很多这种的匿名方法和lambda表达式。这是缓存对象时用委托,它这是建立orchard有时,它使用了Action委托 下面我对Func和Action委托的调用方法用代码说明一下: 1 class Action_Fun的委托用法 2 { 3 string Get1(int key, Func<int, string> acquire); 4 5 string Get2(int key, Func<string>... 阅读全文
posted @ 2012-09-03 17:08 张占岭 阅读(1625) 评论(1) 推荐(0)