<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Smartkid's binary life</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/24620/rss</id><updated>2011-04-10T14:50:35Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/24620/rss"/><entry><id>http://www.cnblogs.com/smartkid/archive/2011/04/10/2011912.html</id><title type="text">自定义Entity Data Model生成的实体类的基类</title><summary type="text">EntityDataModel 默认生成的实体类派生自 EntityObject: publicclassMyUser:EntityObject如果要定一个项目通用的基类，如：[代码]可以修改 tt 文件如下 (diff格式):[代码]这样就禁止了T4模板在生成代码中包含基类，然后手工在partial 类中定义基类。</summary><published>2011-04-10T14:51:00Z</published><updated>2011-04-10T14:51:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2011/04/10/2011912.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2011/04/10/2011912.html"/><content type="html">&lt;p&gt;EntityDataModel 默认生成的实体类派生自 EntityObject:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MyUser&amp;nbsp;:&amp;nbsp;EntityObject&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;如果要定一个项目通用的基类，如：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MyUser&amp;nbsp;:&amp;nbsp;MyEntityObjectBase&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;font  face="'Courier New'" size="2"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;可以修改 tt 文件如下 (diff格式):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;@@&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;315&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #800080;"&gt;315&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;@@&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;Accessibility.ForType(entity)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;code.SpaceAfter(code.AbstractOption(entity))#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;partial&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;code.Escape(entity)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;BaseTypeName(entity,&amp;nbsp;code)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;Accessibility.ForType(entity)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;code.SpaceAfter(code.AbstractOption(entity))#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;partial&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;code.Escape(entity)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;BaseTypeName(entity,&amp;nbsp;code)#&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;#&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000;"&gt;!&lt;/span&gt;&lt;span style="color: #000000;"&gt;entity.Abstract)&lt;br /&gt;@@&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #800080;"&gt;1022&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #800080;"&gt;1022&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800080;"&gt;7&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;@@&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;BaseTypeName(EntityType&amp;nbsp;entity,&amp;nbsp;CodeGenerationTools&amp;nbsp;code)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;entity.BaseType&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;EntityObject&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;:&amp;nbsp;MultiSchemaEscape((StructuralType)entity.BaseType,&amp;nbsp;code);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;entity.BaseType&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;?&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;String.Empty&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MultiSchemaEscape((StructuralType)entity.BaseType,&amp;nbsp;code);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这样就禁止了T4模板在生成代码中包含基类，然后手工在partial 类中定义基类。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/smartkid/aggbug/2011912.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/smartkid/archive/2011/04/10/2011912.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/smartkid/archive/2008/06/29/1231855.html</id><title type="text">Detect if the UnitTest is running and fix the AppDomain.BaseDirectory in VS 2008</title><summary type="text"/><published>2008-06-28T18:53:00Z</published><updated>2008-06-28T18:53:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2008/06/29/1231855.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2008/06/29/1231855.html"/></entry><entry><id>http://www.cnblogs.com/smartkid/archive/2007/06/06/773532.html</id><title type="text">Microsoft Lawyers...准备起诉TestDriven.NET 的作者</title><summary type="text"/><published>2007-06-06T06:07:00Z</published><updated>2007-06-06T06:07:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2007/06/06/773532.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2007/06/06/773532.html"/></entry><entry><id>http://www.cnblogs.com/smartkid/archive/2007/05/13/744681.html</id><title type="text">如何利用SQL查询返回庞大的整数序列表</title><summary type="text">利用一条SQL语句返回成百万的整数序列</summary><published>2007-05-13T06:52:00Z</published><updated>2007-05-13T06:52:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2007/05/13/744681.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2007/05/13/744681.html"/></entry><entry><id>http://www.cnblogs.com/smartkid/archive/2007/05/13/744353.html</id><title type="text">TIP: 在PowerDesigner中如何定义SQL Server 的SCHEMA</title><summary type="text"/><published>2007-05-12T16:33:00Z</published><updated>2007-05-12T16:33:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2007/05/13/744353.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2007/05/13/744353.html"/></entry><entry><id>http://www.cnblogs.com/smartkid/archive/2007/02/22/653828.html</id><title type="text">IBatisNetGen -- CodeSmith template for IBatis.NET</title><summary type="text"/><published>2007-02-22T11:35:00Z</published><updated>2007-02-22T11:35:00Z</updated><author><name>Smartkid</name><uri>http://www.cnblogs.com/smartkid/</uri></author><link rel="alternate" href="http://www.cnblogs.com/smartkid/archive/2007/02/22/653828.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/smartkid/archive/2007/02/22/653828.html"/></entry></feed>
