分类

链接

2025 年 4 月
 123456
78910111213
14151617181920
21222324252627
282930  

近期文章

热门标签

新人福利,免费薅羊毛

EF执行连接查询

ef4.1执行连接查询?什么时候执行左连接? 什么时候执行内连接? ef 根据什么去判断? 当我们做多表查询时  用Include 强制加载 或用 select 去查询时  发现生成的SQL语句 有时是左连接  有时是inner join。 其实EF是根据我们实体类的连接字段 是否可空来判断的~比如外键 studentID public  Nullable<int> StudentID { get; set; } 是否可空 就会造成 是 left join 还是 inner join~~ 补充下~~ 有个朋友说 这个设为空了 依然执行的是内连接啊~ 注意看下你的关系那块  也要设为可空 用这个   HasOptional 而...

.NET 暂无评论 阅读(5,156)

EF常见报错信息

新手使用ef4.1 常见的一些报错信息 1.执行命令定义时出错 出现这个错的原因有很多  数据库语句错误 我们可以先通过监测SQL 语句是否发送到数据库 然后执行这条SQL语句 看看是否有问题  造成这个错的原因 还有可能是 连接对象一直被占用 因为EF有延迟加载 只是select时 并没有真正去数据库执行 我们可以先把前面的查询语句 tolist等  再去执行下面的操作 2. System.Data.Edm.EdmEntityType: : EntityType“Enrollment”未定义键。请为该 EntityType 定义键。 System.Data.Edm.EdmEntitySet: EntityType: EntitySet �E...

.NET 暂无评论 阅读(3,660)

.NET Remoting系列 :信道

信道(Channel)是 Remoting 体系的承载平台,负责处理客户端和服务器之间的通讯,其内容包括跨域通讯、消息传递、对象编码等等。信道必须实现 IChannel 接口,根据通讯方向又分别提供了继承版本 IChannelReceiver 和 IChannelSender。Remoting 框架为我们提供了 IPC、TCP 以及 HTTP 的实现版本,当然我们还可以在网络上找到其他协议的实现版本。 TcpServerChannel channel = new TcpServerChannel(801); ChannelServices.RegisterChannel(channel, false); 我们可以使用实用类 ChannelServices 来管理程序域内的信...

.NET 暂无评论 阅读(2,315)

ASP.NET Cache缓存技术详解

 缓存是在内存中存储很耗时创建的数据的一项技术,也是ASP.NET一个重要特性。例如,你可以缓存那些耗时的复杂查询出来的数据,之后的请求不必再从数据库中取数,直接从缓存中取。通过缓存,可以大大提高应该程序的性能。 主要有两种缓存类型: 1.输出缓存 2.数据缓存 1. Output Caching(输出缓存) 使用输出缓存,可以缓存页面最终的生成的HTML。当同一个页面再次请求时,缓存页起作用。ASP.NET不再执行页面的生命周期和相关代码。输出缓存的语法: 1 <%@ OutputCache Duration=”60” VaryByParam=”None” %...

.NET 暂无评论 阅读(2,803)

Remoting 生存期租约

Remoting 采取了一种称之为 "租约" 的机制来管理远程对象(Singleton、CAO)的生存期策略。每个应用程序域中都有一个租约管理器(LifetimeServices),它负责管理所有参与生存期的远程对象租约。租约管理器定期检查所有租约以确定过期的租约时间,如果租约已过期,将向该对象发起人(Sponsor)的发送请求,查询是否有谁要续订租约,若没有任何发起人续订该租约,租约将被移除,该远程对象也会被删除等待垃圾回收器回收。如果远程对象被发起人多次续订租约或被客户端持续调用,其生存期可以比其生存期租约长得多。 所谓发...

.NET 暂无评论 阅读(2,665)

开放封闭原则 学习笔记

开放封闭原则,核心思想:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。            体现在两个方面:     1、对扩展开放,意味着有新的需求和变化时,可以对现有代码进行扩展,以适应新的情况。     2、对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。 ==      辛辛苦苦写好的代码,测试也通过了,就不要再改了嘛,一改动就可能发生错误,或者是不希望的修改,至少还需要在测试一遍吧。如果改一处会引发好多的错误的话,那就更不要改了...

.NET 暂无评论 阅读(1,815)

GridView实现删除、更新、取消

  //数据绑定        private void InitData()       {    string sqlselect = "";    XmlDocument document = new XmlDocument();    document.Load(Server.MapPath("BannerList.xml"));    XmlNodeList xn = document.SelectNodes("BannerList/item");    string selch = "";selch = ddlchannel.SelectedItem.Value;    if ( ddlchannel.SelectedItem.Value != "-1")    {    sqlselect = "select picid,picdiscription,piclink,picname,uploaddatetime,picchannel,picorder,isenjoin,banner ,bannercode from ...

.NET 暂无评论 阅读(3,149)

从原理上 预防SQL注入

  第一次听说SQL注入攻击的时候还是在2004年(好像得知的比较晚),那是还是在写asp呢。在一次写代码的时候,有同事问我,你的这段代码防注入攻击了吗?什么攻击?这是什么呀。  后来到网上各种找,终于弄明白了是怎么攻击进来的了。注入攻击都是来自于客户端,无论是表单提交、URL传值还是Cookie等,其实原理都是一样的。到了服务器端可以分成三种情况:数字、日期时间、字符串。  说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。当不知道注入...

.NET, MySQL, Oracle, SQL Server, SQLite 暂无评论 阅读(2,666)

扩展性 编程

 在业界曾经有一句很经典的话:“在软件开发领域中,唯一的不变就是变化” 。一旦变化,就有人遭殃,不是开发人员,就是设计师或架构师。无论谁遭殃,都不得不拥抱变化。    作为软件开发人员最担心的就是变化,因为一旦变化,意味着自己的开发任务加重, 轻则修改代码,重则修改框架,如果不用做任何修改,则皆大欢喜,现实告诉我们,这是小概率事件,但比买彩票中大奖的概率还是大很多。于是各种讨论开始,开发人员开始讲述修改如何的大,进度如何紧张,架构师也在一旁不停的唠叨这个修改点的重要性,以及对整个...

.NET 暂无评论 阅读(1,986)

Remoting系列之远程对象

前面几篇文章,我们说到Remoting的其它几个方法,今天我们说说Remoting系列中的远程对象,对于 MBR,我们可以指定不同的激活模式。 服务器激活(Server-Activated Objects / SAO):只有在客户端调用代理对象第一个方法时才创建,区分为 Singleton 和 SingleCall 两种模式。Singleton 一如设计模式中的名称,无论有多少客户端都只有一个实例存在;而 SingleCall 则为每次调用创建一个新对象,因此它是无状态的。SingleCall 在方法调用完成后立即失效,不会参与生存期租约系统。 客户端激活(Client-Activated Object...

.NET 暂无评论 阅读(2,504)