﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-编写人生</title><link>http://www.cnblogs.com/tansm/</link><description>写写代码，写写人生</description><language>zh-cn</language><lastBuildDate>Sat, 19 Jul 2008 04:04:00 GMT</lastBuildDate><pubDate>Sat, 19 Jul 2008 04:04:00 GMT</pubDate><ttl>60</ttl><item><title>哪都不靠</title><link>http://www.cnblogs.com/tansm/archive/2008/06/25/1229736.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Wed, 25 Jun 2008 08:03:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/06/25/1229736.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1229736.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/06/25/1229736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1229736.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1229736.html</trackback:ping><description><![CDATA[给儿子找学校，先找到买的房子旁边好一点的学校（安亭小学），<br />
对方问：上海人吗？<br />
答：不是。<br />
又问：在上海买房子了吗？<br />
答：有，但是在花桥（花桥与安亭一路之隔，但一个是江苏，一个是上海）。<br />
又问：有上海的人才引进的居住证吗？<br />
答：没有（本人高中，学历不够，不能办理）。<br />
<br />
好吧，不要贪心，规规矩矩到花桥找一个对口学校吧。<br />
对方问：当地人吗？<br />
答：不是。<br />
对方问：买房子了吗？<br />
答：有（有戏？）。<br />
对方问：多大？<br />
答：40平方。<br />
对方：不行，必须80平方以上。<br />
又问：你在昆山工作吗？<br />
答：不是，我在上海工作。<br />
<br />
又无果。<br />
<br />
另外一件事情还是跟这个差不多。今天看见一个新闻：《关于2008年度上海市住房公积金缴存基数和比例的通知》，中有一句：<br />
国家机关、国有企业、城镇集体企业、外商投资企业、城镇私营企业及其他城镇企业、事业单位、民办非企业单位、社会团体应依法为与其建立劳动关系的本市及<span style="color: red">外省市城镇户口职工</span>缴存住房公积金。<br />
又再次的证明自己是下等公民，因为我是外省市农村户口。<br />
<br />
 <img src ="http://www.cnblogs.com/tansm/aggbug/1229736.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41198/" target="_blank">[新闻]2008年7月19日IT博客精选</a>]]></description></item><item><title>股票抵抗通货膨胀的能力分析</title><link>http://www.cnblogs.com/tansm/archive/2008/06/19/1225887.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Thu, 19 Jun 2008 06:22:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/06/19/1225887.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1225887.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/06/19/1225887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1225887.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1225887.html</trackback:ping><description><![CDATA[摘要: 养老保险是个骗人的东西；<br>存款又无法解决通货膨胀；<br>股票到底如何呢？让我们看看。&nbsp;&nbsp;<a href='http://www.cnblogs.com/tansm/archive/2008/06/19/1225887.html'>阅读全文</a><img src ="http://www.cnblogs.com/tansm/aggbug/1225887.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41197/" target="_blank">[新闻]全球首款液态金属CPU散热器登场亮相</a>]]></description></item><item><title>空中投影在汽车上的应用（发明畅想） </title><link>http://www.cnblogs.com/tansm/archive/2008/06/16/1223000.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Mon, 16 Jun 2008 05:37:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/06/16/1223000.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1223000.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/06/16/1223000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1223000.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1223000.html</trackback:ping><description><![CDATA[您可以阅读我其他的发明创想：<a class="postTitle2" id="homepage1_HomePageDays_ctl00_DayList_ctl04_TitleUrl" href="http://www.cnblogs.com/tansm/archive/2008/03/20/1114237.html"><br />
使用遥控器控制汽车，实现高难度的泊车（发明畅想）</a> <br />
<a href="http://www.cnblogs.com/tansm/archive/2008/03/20/1114207.html">取款机钱箱没有钱提示(发明畅想)</a> <br />
<a href="http://www.cnblogs.com/tansm/archive/2007/07/16/819301.html">微型电动轿车(发明畅想)</a> <br />
<a href="http://www.cnblogs.com/tansm/archive/2006/03/05/343486.html">智能电视的设想（发明畅想）</a> <br />
<a href="http://www.cnblogs.com/tansm/archive/2006/04/02/364593.html">压缩空气动力自行车</a> <br />
<br />
首先我声明：我并不知道有没有人发明空中投影技术（例如使用激光在空中制造出图像），也就更不知道实现的技术了。我只是想到这种技术的应用。<br />
<br />
有次我看见一个小车想左转掉头，于是在左车道停下来，后面的车马上停下试图调整到右侧超过，再后面的车呢看不到第一辆车，于是想从左侧超，可惜突然看见前面还有一个车，赶紧刹车，很危险。<br />
<img height="521" alt="" src="http://www.cnblogs.com/images/cnblogs_com/tansm/Car1.JPG" width="308" border="0" /><br />
于是，我就想，如果前面的车顶（空中，而且要稍微高一些）投影出一个左方向箭头，那岂不是很好，后面的车虽然看不见前面的车，但是可以看见空中有个投影，知道危险要慢下来。<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/tansm/Car2.JPG" border="0" /><br />
同样的道理，还可以将箭头投影到前面的道路上，在你从一个小巷子要出来时很有用。<br />
<img src ="http://www.cnblogs.com/tansm/aggbug/1223000.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41196/" target="_blank">[新闻]奇虎免费360剑指杀毒同业</a>]]></description></item><item><title>好的产品+低的价格=巨大的成功</title><link>http://www.cnblogs.com/tansm/archive/2008/06/13/1219178.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Fri, 13 Jun 2008 03:44:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/06/13/1219178.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1219178.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/06/13/1219178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1219178.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1219178.html</trackback:ping><description><![CDATA[如果产品非常好，价格却非常低，企业一定能够成功。自己想了想，有哪些呢？<br />
微软 - 不要误会，微软的产品价格的确很低的，如果你和其他公司的产品对比就知道了；<br />
苹果的IPhone - 卖的火啊，他的3G更是便宜；<br />
沃尔玛 - 超市的典范；<br />
麦当劳 - 快餐类的典范；<br />
碧桂园 - 房地产薄利多销的典范；<br />
<br />
那么产品好，但是卖的死贵的有成功的吗？<br />
思科 - 目前还行，但是明显走下坡路了；<br />
索尼 - 也是一样。<br />
IBM - 只能搞项目了，已经脱离群众了。<br />
<br />
所以说，我们常说的商人应该 ： 利润最大化，简直是骗死人不偿命，是最短见的行为。
<img src ="http://www.cnblogs.com/tansm/aggbug/1219178.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41195/" target="_blank">[新闻][快讯] 苹果三里屯店排队开始！</a>]]></description></item><item><title>ADO.NET Entity Framework beta 3 和Linq to SQL 在缓存处理上的不同</title><link>http://www.cnblogs.com/tansm/archive/2008/05/14/1196707.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Wed, 14 May 2008 05:54:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/05/14/1196707.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1196707.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/05/14/1196707.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1196707.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1196707.html</trackback:ping><description><![CDATA[Linq to SQL内置缓存功能，简单的说，当你查询了一次某个键的数据后，再次查询时linq to SQL的引擎不再向数据库发送SQL，例如：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">下面是使用LinQ&nbsp;to&nbsp;SQL&nbsp;的例子，context2是派生自System.Data.Linq.DataContext的实例</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ErpLinQContextDataContext&nbsp;context2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ErpLinQContextDataContext();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">SQLServer事件探查器拦截到SQL语句的执行<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">exec&nbsp;sp_executesql&nbsp;N'SELECT&nbsp;TOP&nbsp;1&nbsp;[t0].[emp_id],&nbsp;[t0].[fname],&nbsp;[t0].[minit],&nbsp;[t0].[lname],&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[t0].[job_id],&nbsp;[t0].[job_lvl],&nbsp;[t0].[pub_id],&nbsp;[t0].[hire_date]<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">FROM&nbsp;[dbo].[employee]&nbsp;AS&nbsp;[t0]<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">WHERE&nbsp;[t0].[emp_id]&nbsp;=&nbsp;@p0',&nbsp;N'@p0&nbsp;varchar(9)',&nbsp;@p0&nbsp;=&nbsp;'PMA42628M'</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee&nbsp;p3&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context2.employees.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.emp_id&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">当我再次执行相同的查询时，LinQ&nbsp;to&nbsp;SQL&nbsp;不再向SQL&nbsp;Server发送查询了。</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;employee&nbsp;p4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context2.employees.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.emp_id&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);</span></div>
<br />
而且，<span style="color: #0000ff">这两个实例是同一个实例</span>：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">返回的对象是同一个实例</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;b2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">object</span><span style="color: #000000">.ReferenceEquals(p3,&nbsp;p4);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">=true;</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p3.lname&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">New&nbsp;Last&nbsp;Name</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;b4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(p4.lname&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">New&nbsp;Last&nbsp;Name</span><span style="color: #800000">"</span><span style="color: #000000">);&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">=true;</span></div>
<br />
当然，如果你使用不同的Context实例查询时，缓存功能将实效。<br />
<br />
好，让我们再看看ADO.NET Entity Framework beta 3：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">pubsEntites是&nbsp;ADO.NET&nbsp;Entity&nbsp;Framework&nbsp;的System.Data.Objects.ObjectContext派生对象</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pubsEntities&nbsp;context&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;pubsEntities();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">下面语句执行时，SQLServer事件探查器拦截到SQL的执行<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">SELECT&nbsp;TOP&nbsp;1&nbsp;[Extent1].[emp_id]&nbsp;AS&nbsp;[emp_id],&nbsp;[Extent1].[fname]&nbsp;AS&nbsp;[fname],&nbsp;[Extent1].[lname]&nbsp;AS&nbsp;[lname],&nbsp;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Extent1].[hire_date]&nbsp;AS&nbsp;[hire_date],&nbsp;[Extent1].[job_id]&nbsp;AS&nbsp;[job_id],&nbsp;[Extent1].[pub_id]&nbsp;AS&nbsp;[pub_id]<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">FROM&nbsp;[dbo].[employee]&nbsp;AS&nbsp;[Extent1]<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">WHERE&nbsp;N'PMA42628M'&nbsp;=&nbsp;[Extent1].[emp_id]</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;p1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context.EmployeeSet.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.EmployeeId&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">SQLServer事件探查器&nbsp;发现SQL再次被执行</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;p2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context.EmployeeSet.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.EmployeeId&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">测试发现，虽然ADO.NET&nbsp;Entity&nbsp;Framework执行了两次SQL，但是他们却返回了完全相同的实例</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;b1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">object</span><span style="color: #000000">.ReferenceEquals(p1,&nbsp;p2);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;=&nbsp;true;</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
测试的结果是，ADO.NET Entity Framework（以下简称AEF）没有使用缓存，而是再次执行SQL，但是你要注意：<span style="color: #0000ff">两次查询的实例竟然是同一个。<br />
</span>从Context功能上看，他肯定持有上次查询的结果，他没有使用缓存，我只能认为可能AEF被设计成三层应用，那么他很担心其他的进程将数据改了，所以不使用缓存，当发现数据并没有改后，还是使用原先的实例，这个想法对吗？<br />
我们再看看另外一个代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">如果使用不同的上下文更新的数据，</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pubsEntities&nbsp;context4&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;pubsEntities();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;p10&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context4.EmployeeSet.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.EmployeeId&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p10.LastName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Context4&nbsp;changed&nbsp;data</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context4.SaveChanges();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">旧的context再次查询时。</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Employee&nbsp;p11&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;context.EmployeeSet.First</span><span style="color: #000000">&lt;</span><span style="color: #000000">Employee</span><span style="color: #000000">&gt;</span><span style="color: #000000">(p&nbsp;</span><span style="color: #000000">=&gt;</span><span style="color: #000000">&nbsp;p.EmployeeId&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">PMA42628M</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">object</span><span style="color: #000000">.ReferenceEquals(p1,&nbsp;p11);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">=&nbsp;true&nbsp;&nbsp;&nbsp;why??</span><span style="color: #008000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(p11.LastName&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Context4&nbsp;changed&nbsp;data</span><span style="color: #800000">"</span><span style="color: #000000">);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">=&nbsp;false&nbsp;&nbsp;p11.LastName&nbsp;=&nbsp;"New&nbsp;Last&nbsp;Name"</span></div>
难以置信，<span style="color: #ff0000">AEF重新执行了SQL，但是置新的更改而不闻，仍然返回旧的数据。这个算是Bug吗？</span><br />
<br />
我不知道哪位达人能够解释这个问题？当然，这个问题我也询问了MS，他们的技术人员还未做出满意的答复。 
<img src ="http://www.cnblogs.com/tansm/aggbug/1196707.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41194/" target="_blank">[新闻]云计算的20个定义</a>]]></description></item><item><title>向灾区捐款，自我纪念一下</title><link>http://www.cnblogs.com/tansm/archive/2008/05/14/1196462.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Wed, 14 May 2008 03:33:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/05/14/1196462.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1196462.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/05/14/1196462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1196462.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1196462.html</trackback:ping><description><![CDATA[&nbsp;我不是那种&#8220;做好事不留姓名&#8221; 的那种，<img src="http://www.cnblogs.com/Emoticons/others/think001.gif"  alt="" />&nbsp;纪念一下。<br />
但还是少些这种捐款好，我的意思是希望天下太平。都不用捐款才是最好。<br />
希望中国少些灾难，军队能够提高能力，设备先进些。<br />
<img height="200" alt="" src="http://www.cnblogs.com/images/cnblogs_com/tansm/juankuan.jpg" width="530" border="0" />
<img src ="http://www.cnblogs.com/tansm/aggbug/1196462.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41194/" target="_blank">[新闻]云计算的20个定义</a>]]></description></item><item><title>关于购买日本车所联想的两个故事</title><link>http://www.cnblogs.com/tansm/archive/2008/05/04/1181599.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Sun, 04 May 2008 04:49:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/05/04/1181599.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1181599.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/05/04/1181599.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1181599.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1181599.html</trackback:ping><description><![CDATA[<font face="Verdana">&nbsp;&nbsp;&nbsp; 我们知道，网上很多人是很鄙视 买日本车的人 的。我不想骂人，我想讲两个事情。<br />
&nbsp;&nbsp;&nbsp; 第一个就是：清朝时林则徐提出的&#8220;师夷长技以制夷&#8221;，我想用在现在的中国汽车一样正确。<br />
&nbsp;&nbsp;&nbsp; 第二个是将日本侵略中国时，当时在中国有很多的诸如&#8220;翻译官&#8221;这样的职业，在当时看来，这样的职业工资是很高的，而且人家又不直接杀人，所以其实当时很多的中国人是给日本人打工的。现在套用中国汽车业，大概也能说明一些，因为日本车比起中国自主品牌来说，质量的确好很多，而且相对德国车，他的确又便宜很多。所以很多中国人还是禁不住诱惑，觉得买日本人的东西很合算。<br />
&nbsp;&nbsp;&nbsp; 我坦诚说我对日本的态度：<br />
&nbsp;&nbsp;&nbsp; 一，日本人很多方面不错，我们应该&#8220;师夷长技&#8221;，比如他们严谨的工作作风和科技等，<br />
&nbsp;&nbsp;&nbsp; 二、日本到现在仍然对历史的错误不予悔改，这是我最不能容忍的；<br />
&nbsp;&nbsp;&nbsp; 三、日本毕竟人多地少，又是个地震频发的岛国，套用他们的话&#8220;凭什么我们这么优秀的人要住在这个岛国，而那些愚昧的中国人可以享受那么好的土地&#8221;，所以只要是正常人的思维，日本人终究有一天，还是要再次侵略中国的。<br />
&nbsp;&nbsp;&nbsp; 所以，我尽我最大能力不购买日本产品，并劝导朋友和同事不购买日本产品。</font>
<img src ="http://www.cnblogs.com/tansm/aggbug/1181599.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41193/" target="_blank">[新闻]水果：对于 MobileMe 服务出锤深感抱歉，送您个 30 天免费服务如何？</a>]]></description></item><item><title>MarshalByRefObject 的性能损失</title><link>http://www.cnblogs.com/tansm/archive/2008/04/29/1176283.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Tue, 29 Apr 2008 07:20:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/04/29/1176283.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1176283.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/04/29/1176283.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1176283.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1176283.html</trackback:ping><description><![CDATA[<p>以前看过文章说MarshalByRefObject 会造成性能的损失，我比较相信自己，所以亲自测试了一下，下面是代码：<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_152355" onclick="this.style.display='none'; Code_Closed_Text_152355.style.display='none'; Code_Open_Image_152355.style.display='inline'; Code_Open_Text_152355.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_152355" style="display: none" onclick="this.style.display='none'; Code_Open_Text_152355.style.display='none'; Code_Closed_Image_152355.style.display='inline'; Code_Closed_Text_152355.style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span id="Code_Closed_Text_152355" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">测试代码</span><span id="Code_Open_Text_152355" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Diagnostics;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_71_1639_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_71_1639_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_71_1639_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_71_1639_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_71_1639_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_71_1639_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_71_1639_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_71_1639_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;ConsoleApplication1&nbsp;</span><span id="Codehighlighter1_71_1639_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_71_1639_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_91_1424_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_91_1424_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_91_1424_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_91_1424_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_91_1424_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_91_1424_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_91_1424_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_91_1424_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Program&nbsp;</span><span id="Codehighlighter1_91_1424_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_91_1424_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_133_1418_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_133_1418_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_133_1418_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_133_1418_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_133_1418_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_133_1418_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_133_1418_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_133_1418_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Main(</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;args)&nbsp;</span><span id="Codehighlighter1_133_1418_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_133_1418_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stopwatch&nbsp;watch&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Stopwatch();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Start();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;b&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;B();<br />
<img id="Codehighlighter1_284_328_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_328_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_284_328_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_328_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_284_328_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_328_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_284_328_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_328_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">100000000</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_284_328_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_284_328_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.Add(</span><span style="color: #800080">3</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">5</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Stop();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">B&nbsp;花费时间：</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;watch.ElapsedMilliseconds.ToString());<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Reset();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Start();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;A();<br />
<img id="Codehighlighter1_566_610_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_566_610_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_566_610_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_566_610_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_566_610_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_566_610_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_566_610_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_566_610_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">100000000</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_566_610_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_566_610_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.Add(</span><span style="color: #800080">3</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">5</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Stop();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">A&nbsp;MarshalByRefObject&nbsp;花费时间：</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;watch.ElapsedMilliseconds.ToString());<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Reset();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">=======================</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Start();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;A();<br />
<img id="Codehighlighter1_903_947_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_903_947_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_903_947_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_903_947_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_903_947_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_903_947_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_903_947_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_903_947_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">100000000</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_903_947_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_903_947_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.Add(</span><span style="color: #800080">3</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">5</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Stop();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">A&nbsp;MarshalByRefObject&nbsp;花费时间：</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;watch.ElapsedMilliseconds.ToString());<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Reset();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Start();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;B();<br />
<img id="Codehighlighter1_1202_1246_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1202_1246_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1202_1246_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1202_1246_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1202_1246_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1202_1246_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1202_1246_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1202_1246_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">100000000</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_1202_1246_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1202_1246_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.Add(</span><span style="color: #800080">3</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">5</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Stop();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">B&nbsp;花费时间：</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;watch.ElapsedMilliseconds.ToString());<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;watch.Reset();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Read();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_1459_1541_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1459_1541_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1459_1541_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1459_1541_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1459_1541_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1459_1541_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1459_1541_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1459_1541_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;A&nbsp;:&nbsp;MarshalByRefObject&nbsp;</span><span id="Codehighlighter1_1459_1541_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1459_1541_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_1498_1535_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1498_1535_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1498_1535_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1498_1535_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1498_1535_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1498_1535_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1498_1535_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1498_1535_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Add(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b)&nbsp;</span><span id="Codehighlighter1_1498_1535_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1498_1535_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;a&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;b;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_1555_1637_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1555_1637_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1555_1637_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1555_1637_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1555_1637_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1555_1637_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1555_1637_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1555_1637_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;B&nbsp;</span><span id="Codehighlighter1_1555_1637_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1555_1637_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_1594_1631_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1594_1631_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1594_1631_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1594_1631_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1594_1631_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1594_1631_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1594_1631_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1594_1631_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;Add(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b)&nbsp;</span><span id="Codehighlighter1_1594_1631_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1594_1631_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;a&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;b;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span></span></div>
<br />
测试的结果是：<br />
<font face="Verdana">&nbsp;<font face="Verdana">B 花费时间：55<br />
A MarshalByRefObject 花费时间：957<br />
A MarshalByRefObject 花费时间：972<br />
B 花费时间：56</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
总结：像这样在本地环境下，性能仍然损失了近17.4倍。当然，此17被不能简单的理解为你的应用就慢了17倍，这里仅表示发起调用损失了17倍。</font> 
<img src ="http://www.cnblogs.com/tansm/aggbug/1176283.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41192/" target="_blank">[新闻]微软年收入首超600亿美元</a>]]></description></item><item><title>相信自己，我能2 — ORM 工具的插入性能比较</title><link>http://www.cnblogs.com/tansm/archive/2008/04/28/1174984.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Mon, 28 Apr 2008 10:10:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/04/28/1174984.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1174984.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/04/28/1174984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1174984.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1174984.html</trackback:ping><description><![CDATA[<p>请先参考《<a href="http://www.cnblogs.com/tansm/archive/2008/04/24/TorridityVsLinQ.html">相信自己，我能</a>》 关于读取性能的测试<br />
<br />
今天对插入的性能做了比较，和我预期的一样，Torridity的性能和其他的产品基本打平手，而Entity Framework一样是糟糕的成绩。<br />
为什么认为会打个平手呢？因为插入1万比记录，意味这连续发送1万次SQL，在没有提别糟糕的程序下，基本上SQL语句的执行花去了几乎大部分的时间，程序本身的优化所得到的提升几乎微乎其微。<br />
下面是测试结果：<br />
<img height="307" alt="" src="http://www.cnblogs.com/images/cnblogs_com/tansm/TorridityInsert.jpg" width="464" border="0" /><br />
再次失望ADO Entity Framwork的性能，太糟糕了</p>
<img src ="http://www.cnblogs.com/tansm/aggbug/1174984.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41191/" target="_blank">[新闻]iPhone Dev Team：革命尚未成功，同志仍需努力！</a>]]></description></item><item><title>MS ADO.NET Entity Framework beta 3 探秘</title><link>http://www.cnblogs.com/tansm/archive/2008/04/25/1171130.html</link><dc:creator>编写人生</dc:creator><author>编写人生</author><pubDate>Fri, 25 Apr 2008 07:13:00 GMT</pubDate><guid>http://www.cnblogs.com/tansm/archive/2008/04/25/1171130.html</guid><wfw:comment>http://www.cnblogs.com/tansm/comments/1171130.html</wfw:comment><comments>http://www.cnblogs.com/tansm/archive/2008/04/25/1171130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/tansm/comments/commentRss/1171130.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/tansm/services/trackbacks/1171130.html</trackback:ping><description><![CDATA[<p><font face="Verdana">关于元数据结构<br />
自动创建的代码包含一个派生自ObjectContext的对象，他有点像一个Workspace，主要包含连接、元数据和状态管理等；</font></p>
<p><font face="Verdana">ObjectContext包含一个MetadataWorkspace属性，记录了所有的元数据信息，有几种类型：<br />
C&nbsp; Space: 很全，包括数据类型（例如Byte）、函数(例如Max）、实体类型（例如Order）；<br />
CS Space：null?没有吗<br />
OC Space：纯数据类型，一般13个；<br />
S&nbsp; Space：包括数据类型和实体类型。<br />
你可以像下面这样的代码获取元数据<br />
EntityType c2 = c.MetadataWorkspace.GetItem&lt;EntityType&gt;("DcmsCore2_TestModel.Customer", System.Data.Metadata.Edm.DataSpace.CSpace);</font></p>
<p><font face="Verdana">枚举出一个元数据对象，怎么知道是描述什么的呢？BuildtInTypeKind属性可以告诉你，常见的有：<br />
PrimitiveType&nbsp;&nbsp;&nbsp; : 原生数据类型，例如描述string的<br />
EntityType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ：实体类型，一般是ClrEntityType的实例，例如描述order<br />
MetadataProperty : 属性，例如描述Order的属性OrderId；<br />
Facet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ：特性，用来描述是否允许null，或缺省值之类的东西，有点像CLR里面的Attribute<br />
</font></p>
<img src ="http://www.cnblogs.com/tansm/aggbug/1171130.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41190/" target="_blank">[新闻]Google赢利12.5亿美元 股价大跌40美元</a>]]></description></item></channel></rss>