<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_天之道，损 有余 而 补 不足</title><subtitle type="text">重复的力量</subtitle><id>http://feed.cnblogs.com/blog/u/28293/rss</id><updated>2012-02-03T02:08:01Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/28293/rss"/><entry><id>http://www.cnblogs.com/xuefly/archive/2010/07/08/Modeling-Table-per-Type-Inheritance.html</id><title type="text">2-8.为表建造具有继承关系的实体类型</title><summary type="text">问题我们拿到一些表，这些表有一个公共表。我们希望根据这些表建造具有继承关系的实体模型。解决方案设想我们拥有两个具有一个公共关联表的如下图所示的表。Business表位于1:0..1关系的1端，eCommerce表和Retail表位于0..1端。eCommerce和Retail表中放的是Business的扩展信息。</summary><published>2010-07-08T06:38:00Z</published><updated>2010-07-08T06:38:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2010/07/08/Modeling-Table-per-Type-Inheritance.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2010/07/08/Modeling-Table-per-Type-Inheritance.html"/><content type="html">&lt;p &gt;&lt;span lang="EN-US"&gt;2-8.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;为表建造具有继承关系的实体类型&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left; line-height: 18.75pt; background: none repeat scroll 0% 0% #cccccc;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 13.5pt; font-family: 宋体; color: #333333;"&gt;问题&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 13.5pt; font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体;"&gt;我们拿到一些表，这些表有一个公共表。我们希望根据这些表建造具有继承关系的实体模型。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h1 style="line-height: 18.75pt; background: none repeat scroll 0% 0% #cccccc;"&gt;&lt;span style="font-size: 13.5pt; color: #333333;"&gt;解决方案&lt;/span&gt;&lt;span style="font-size: 13.5pt; font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体;"&gt;设想我们拥有两个具有一个公共关联表的如下图所示的表。&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;表位于&lt;/span&gt;&lt;span lang="EN-US"&gt;1:0..1&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;关系的&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;端，&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;表和&lt;/span&gt;&lt;span lang="EN-US"&gt;Retail&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;表位于&lt;/span&gt;&lt;span lang="EN-US"&gt;0..1&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;端。&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;Retail&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;表中放的是&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;的扩展信息。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-27.jpg" alt="" height="366" width="484" /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family: 宋体;"&gt;按照如下步骤建模：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;span&gt;1.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;右击项目选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Add-&amp;gt;New Item&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;菜单项，选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;ADO.NET Entity Data Model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;添加新的数据模型&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;span&gt;2.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Generate from database(&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;从数据库中产生&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;，点击&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;按钮&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;span&gt;3.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;在向导中选择一个已存在的数据库链接或创建一个新链接&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;span&gt;4.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;在对话框中选中&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Business&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;表，&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;表，和&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Retail&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;表。&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;选中&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Pluralize or singularize generated object names&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;、&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Include foreign key columns in the&#xD;
model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;这两个选项。点击&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;Finish&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family: 宋体; color: #333333;"&gt;按钮完成。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;5.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;删除&lt;/span&gt;&lt;span lang="EN-US"&gt;Retail&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型和&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型之间的关联，删除&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型和&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型之间的关联。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;6.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;右击&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型选择&lt;/span&gt;&lt;span lang="EN-US"&gt;Add -&amp;gt; Inheritance&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;。在对话框中，选择&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;类作为基类&lt;/span&gt;&lt;span lang="EN-US"&gt;Retail&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;类作为派生类。为&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型重复该操作，将&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;类设为&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型的派生类。如图&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;7.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;删除&lt;/span&gt;&lt;span lang="EN-US"&gt;Retail&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型和&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型的&lt;/span&gt;&lt;span lang="EN-US"&gt;BusinessId&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;属性。它们继承了&lt;/span&gt;&lt;span lang="EN-US"&gt;Business&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型的&lt;/span&gt;&lt;span lang="EN-US"&gt;BusinessId&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;属性。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: -21pt;"&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;span&gt;8.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;右击&lt;/span&gt;&lt;span lang="EN-US"&gt;eCommerce&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;实体类型以查看映射明细窗口。&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;果映射明细窗体不显示，则点击主菜单上的&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;" lang="EN-US"&gt;View&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: black;" lang="EN-US"&gt;&amp;#224;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;" lang="EN-US"&gt;Other Windows&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 10pt; font-family: Wingdings; color: black;" lang="EN-US"&gt;&amp;#224;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color: black;" lang="EN-US"&gt;Entity Data Model Mapping Details&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;，使其显示。将&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;BusinessId&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;列映射到&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;BusinessId&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;属性。为&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;Repeat&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;实体类型做同样的操作。如图&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;font  size="3"&gt;&lt;span  style="font-size: 12px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-28.jpg" alt="" height="298" width="476" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-SemiboldItalic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Figure 2-28. &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-Italic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Adding Inheritance&#xD;
between the Retail entity type and the Business entity type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;font  size="3"&gt;&lt;span  style="font-size: 12px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-29.jpg" alt="" height="359" width="516" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-align: left;" align="left"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-SemiboldItalic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Figure 2-29. &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-Italic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Mapping the BusinessId&#xD;
column to the BusinessId property. This must be done for both the eCommerce&#xD;
entity type and the Retail entity type&lt;span &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;span &gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;实体数据模型如下图所示：&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;font  size="3"&gt;&lt;span  style="font-size: 12px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-30.jpg" alt="" height="409" width="388" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 21pt; text-align: left; text-indent: 21pt;" align="left"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-SemiboldItalic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Figure 2-30. &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-Italic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Table per type&#xD;
inheritance with Retail and eCommerce deriving from the base entity type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left: 42pt; text-indent: 0cm;"&gt;&lt;em&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Utopia-Italic&amp;quot;,&amp;quot;serif&amp;quot;;" lang="EN-US"&gt;Business&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h1 style="line-height: 18.75pt; background: none repeat scroll 0% 0% #cccccc;"&gt;&lt;span style="font-size: 13.5pt; color: #333333;"&gt;如何工作？&lt;/span&gt;&lt;span style="font-size: 13.5pt; font-family: &amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;; color: #333333;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&#xD;
&#xD;
&lt;p &gt;&lt;span &gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-size: 9pt; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&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;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Program&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Main(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]&amp;nbsp;args)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cleanup();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RunExample();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Cleanup()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.retail&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.eCommerce&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.business&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;RunExample()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;business&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Business&amp;nbsp;{&amp;nbsp;Name&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;Corner&amp;nbsp;Dry&amp;nbsp;Cleaning&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LicenseNumber&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;100x1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Businesses.AddObject(business);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;retail&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Retail&amp;nbsp;{&amp;nbsp;Name&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;Shop&amp;nbsp;and&amp;nbsp;Save&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LicenseNumber&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;200C&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;Address&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;101&amp;nbsp;Main&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;City&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;Anytown&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;State&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;TX&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;ZIPCode&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;76106&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Businesses.AddObject(retail);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;web&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;eCommerce&amp;nbsp;{&amp;nbsp;Name&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;BuyNow.com&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LicenseNumber&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;300AB&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;URL&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;www.buynow.com&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Businesses.AddObject(web);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.SaveChanges();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\n---&amp;nbsp;All&amp;nbsp;Businesses&amp;nbsp;---&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.Businesses)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&amp;nbsp;(#{1})&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;b.Name,&amp;nbsp;b.LicenseNumber);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\n---&amp;nbsp;Retail&amp;nbsp;Businesses&amp;nbsp;---&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.Businesses.OfType&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Retail&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: #008080;"&gt;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&amp;nbsp;(#{1})&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;r.Name,&amp;nbsp;r.LicenseNumber);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;r.Address);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0},&amp;nbsp;{1}&amp;nbsp;{2}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;r.City,&amp;nbsp;r.State,&amp;nbsp;r.ZIPCode);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\n---&amp;nbsp;eCommerce&amp;nbsp;Businesses&amp;nbsp;---&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;e&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.Businesses.OfType&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;eCommerce&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: #008080;"&gt;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&amp;nbsp;(#{1})&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;e.Name,&amp;nbsp;e.LicenseNumber);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Online&amp;nbsp;address&amp;nbsp;is:&amp;nbsp;{0}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;e.URL);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Press&amp;nbsp;&amp;lt;enter&amp;gt;&amp;nbsp;to&amp;nbsp;continue..&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.ReadLine();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 宋体; color: black;"&gt;输出结果：&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;--- All Businesses ---&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;Corner Dry Cleaning&#xD;
(#100X1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;Shop and Save (#200C)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;BuyNow.com (#300AB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;--- Retail Businesses&#xD;
---&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;Shop and Save (#200C)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;101 Main&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;Anytown, TX 76106&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;---- eCommerce&#xD;
Businesses ---&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;BuyNow.com (#300AB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;Online address is:&#xD;
www.buynow.com&lt;/span&gt;&lt;/strong&gt;&lt;span &gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: black;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xuefly/aggbug/1773605.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xuefly/archive/2010/07/08/Modeling-Table-per-Type-Inheritance.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2010/07/01/Modeling-a-Self-Referencing-Relationship.html</id><title type="text">2-5.Entity Framework实战-自关联关系建模</title><summary type="text">问题我们有一个自关联表，我们希望基于该表构建具有自我引用关系的实体模型。</summary><published>2010-07-01T14:34:00Z</published><updated>2010-07-01T14:34:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2010/07/01/Modeling-a-Self-Referencing-Relationship.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2010/07/01/Modeling-a-Self-Referencing-Relationship.html"/><content type="html">&lt;p  align="left" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:&#xD;
auto;text-align:left;line-height:18.75pt;mso-pagination:widow-orphan;&#xD;
mso-outline-level:1;background:#CCCCCC"&gt;&lt;strong&gt;&lt;span style="font-size:13.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;&#xD;
mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;问题&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-font-family:&#xD;
宋体;mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;我们有一个自关联表，我们希望基于该表构建具有自我引用关系的实体模型。&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h1 style="line-height:18.75pt;background:#CCCCCC"&gt;&lt;span style="font-size:13.5pt;&#xD;
mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;color:#333333"&gt;解决方案&lt;/span&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;&lt;/span&gt;假设我们拥有一个自关联表，如下面的数据库关系图所示：&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-14.jpg" width="308" height="132" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;按照以下步骤建模，将表和自关联关系导入&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;EDM&lt;/span&gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;：&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-fareast-font-family:Calibri;&#xD;
mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Calibri;mso-bidi-theme-font:&#xD;
minor-latin;color:black"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="font-size:7.0pt;font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:black"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;右击项目选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Add-&amp;gt;New Item&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;菜单项，选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;ADO.NET Entity Data Model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:#333333"&gt;添加新的数据模型&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-fareast-font-family:Calibri;&#xD;
mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Calibri;mso-bidi-theme-font:&#xD;
minor-latin;color:black"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Generate&#xD;
from database(&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;从数据库中产生&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;，点击&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:#333333"&gt;按钮&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-fareast-font-family:Calibri;&#xD;
mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Calibri;mso-bidi-theme-font:&#xD;
minor-latin;color:black"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;在向导中选择一个已存在的数据库链接或创建一个新链接&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-fareast-font-family:&#xD;
Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:Calibri;&#xD;
mso-bidi-theme-font:minor-latin;color:black"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:#333333"&gt;在对话框中选中&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:#333333"&gt;PictureCategory&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:#333333"&gt;表。选中&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Pluralize or singularize generated&#xD;
object names&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:#333333"&gt;、&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Include foreign key columns in the&#xD;
model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:#333333"&gt;这两个选项&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;点击&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Finish&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;按钮完成。&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span &gt;&lt;span style="font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;向导为我们创建一个如下图所示的实体类型。&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-15.jpg" width="168" height="231" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span &gt;&lt;span style="font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;上图所示的实体类型包含两个导航属性&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory1&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory2&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;。无论哪一个命名都没有什么可读性帮助，我们重命名它们。其中一个导航属性指向父类别或者关系的&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;0..1&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;端。另一个导航属性指向孩子类别或者关系的&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;端。为了区分二者哪一个是哪一个，右击&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory1&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;。在属性窗口，我们看到&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory1&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;的&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;multiplicity&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;属性是&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;*(&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;多&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;，所以导航属性&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory1代表&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;子分类。重命名&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory1&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;为&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;Subcategories&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;。重命名&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;PictureCategory2&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;为&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;ParentCaegory&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  style="text-indent:21.0pt"&gt;&lt;span &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:&#xD;
Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;结果如图所示：&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;span style="mso-tab-count:&#xD;
1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/Entity-Framework-Recipes/2-16.jpg" width="172" height="228" alt="" /&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h1 style="line-height:18.75pt;background:#CCCCCC"&gt;&lt;span style="font-size:13.5pt;&#xD;
mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;color:#333333"&gt;如何工作？&lt;/span&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;&lt;/span&gt;下面的代码先插入实体对象，然后递归枚举出所有相关联的实体。&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('e3527749-abb7-4d28-a45f-968f11e71218')"&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"  id="code_img_opened_e3527749-abb7-4d28-a45f-968f11e71218" onclick="cnblogs_code_hide('e3527749-abb7-4d28-a45f-968f11e71218',event)" style="display:none"&gt;&lt;div id="cnblogs_code_open_e3527749-abb7-4d28-a45f-968f11e71218" &gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Collections.Generic;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Linq;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Text;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Recipe5&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Program&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Main(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]&amp;nbsp;args)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cleanup();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RunExample();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Cleanup()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.picturecategory&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;RunExample()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;louvre&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Louvre&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;child&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Egyptian&amp;nbsp;Antiquites&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;louvre.Subcategories.Add(child);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;child&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Sculptures&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;louvre.Subcategories.Add(child);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;child&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Paintings&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;louvre.Subcategories.Add(child);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;paris&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Paris&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paris.Subcategories.Add(louvre);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;vacation&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;PictureCategory&amp;nbsp;{&amp;nbsp;Name&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;Summer&amp;nbsp;Vacation&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vacation.Subcategories.Add(paris);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.PictureCategories.AddObject(paris);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.SaveChanges();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ContextOptions.LazyLoadingEnabled&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;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PictureCategory&amp;nbsp;root&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(from&amp;nbsp;c&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.PictureCategories&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;where&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;c.ParentCategory&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;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;c).FirstOrDefault();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Print(root,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Press&amp;nbsp;&amp;lt;enter&amp;gt;&amp;nbsp;to&amp;nbsp;continue...&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.ReadLine();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Print(PictureCategory&amp;nbsp;cat,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;level)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;sb&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;StringBuilder();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}{1}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;sb.Append(&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;level).ToString(),&amp;nbsp;cat.Name);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(PictureCategory&amp;nbsp;child&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;cat.Subcategories)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Print(child,&amp;nbsp;level&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: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 宋体; "&gt;输出结果如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Summer Vacation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Paris&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Louvre&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Egyptian Antiquites&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Sculptures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p &gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:TheSansMonoConNormal;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;mso-font-kerning:0pt"&gt;Paintings&lt;/span&gt;&lt;span lang="EN-US" style="color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;源码下载：&amp;nbsp;&lt;a href="http://files.cnblogs.com/xuefly/Recipe5.rar" target="_blank"&gt;Recipe5.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Abbott/archive/2010/07/02/1769824.html" title="下一篇：实体框架---第二章 2.6 一个实体关联多个表" target="_blank"&gt;下一篇：实体框架---第二章 2.6 一个实体关联多个表&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xuefly/aggbug/1769534.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xuefly/archive/2010/07/01/Modeling-a-Self-Referencing-Relationship.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2010/06/30/Creating-a-Model-from-an-Existing-Database.html</id><title type="text">2-2.Entity Framework实战-从已存在的数据库创建EDM</title><summary type="text">问题我们拥有一个具有少许表的数据库，兴许还有一些视图，以及一些外键约束，现在我们希望为这个已有的数据库创建一个Model// Entity Data Model，简称EDM。</summary><published>2010-06-30T15:09:00Z</published><updated>2010-06-30T15:09:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2010/06/30/Creating-a-Model-from-an-Existing-Database.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2010/06/30/Creating-a-Model-from-an-Existing-Database.html"/><content type="html">&lt;a title="上一篇：Entity Framework实战-创建一个简单的概念模型" href="http://www.cnblogs.com/kevin-wang/archive/2010/06/20/Creating-a-Simple-Model.html" target="_blank"&gt;上一篇：2-1.Entity Framework实战-创建一个简单的概念模型&lt;/a&gt;&lt;br /&gt;&#xD;
&lt;p  align="left" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:&#xD;
auto;text-align:left;line-height:18.75pt;mso-pagination:widow-orphan;&#xD;
mso-outline-level:1;background:#CCCCCC"&gt;&lt;strong&gt;&lt;span style="font-size:13.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;&#xD;
mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;问题&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-font-family:&#xD;
宋体;mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin"&gt;我们拥有一个具有少许表的数据库，兴许还有一些视图，以及一些外键约束，现在我们希望为这个已有的数据库创建一个&lt;/span&gt;&lt;span lang="EN-US"&gt;Model&lt;span style="color:#00B050"&gt;// Entity Data Model&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:#00B050"&gt;，简称&lt;/span&gt;&lt;span lang="EN-US" style="color:#00B050"&gt;EDM&lt;/span&gt;&lt;span style="font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:#00B050"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="color:#00B050"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:&#xD;
auto;text-align:left;line-height:18.75pt;mso-pagination:widow-orphan;&#xD;
mso-outline-level:1;background:#CCCCCC"&gt;&lt;strong&gt;&lt;span style="font-size:13.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;&#xD;
mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;解决方案&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-font-family:&#xD;
宋体;mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;假定我们拥有一个描述诗人&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;(poets)&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;和诗人的诗&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;(poetry)&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;的数据库。我们的关系型数据库可能看起来像下图这样。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/2-7.jpg" width="776" height="155" alt="" /&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;从这张数据库关系图上，我们看到一个诗人可以是一首或多首诗的作者同时每首诗又可以根据韵律的不同分属于一个类别。虽然我们的图上没有表现出来，其实我们还有一个视图，这个视图用来将表链接起来以方便我们枚举每一个想要的诗，诗人，以及韵律。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="text-indent:21.0pt"&gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;按照以下操作将视图，表以及关系导入&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;EDM&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;：&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:&#xD;
Calibri;mso-bidi-theme-font:minor-latin;color:black"&gt;&lt;span style="mso-list:&#xD;
Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;右击项目选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Add-&amp;gt;New Item&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;菜单项，选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;ADO.NET Entity Data Model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;添加新的数据模型&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:&#xD;
Calibri;mso-bidi-theme-font:minor-latin;color:black"&gt;&lt;span style="mso-list:&#xD;
Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;选择&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Generate from database(&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;从数据库中产生&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;，点击&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;按钮&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:&#xD;
Calibri;mso-bidi-theme-font:minor-latin;color:black"&gt;&lt;span style="mso-list:&#xD;
Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;在向导中选择一个已存在的数据库链接或创建一个新链接&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:-21.0pt;&#xD;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-bidi-font-family:&#xD;
Calibri;mso-bidi-theme-font:minor-latin;color:black"&gt;&lt;span style="mso-list:&#xD;
Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;选中对话框中的全部表（&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Meter,Poem,&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;和&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Poet&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;）。同时也选中视图（&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;vwLibrary&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;）。选中&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;Pluralize or singularize generated object names&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Georgia;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Georgia;color:#333333"&gt;、&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;color:#333333"&gt;Include foreign key columns in the&#xD;
model&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Georgia;&#xD;
color:#333333"&gt;这两个选项&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;&#xD;
color:#333333"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Georgia;color:#333333"&gt;如下图所示&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:0cm;mso-char-indent-count:&#xD;
0"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/2-8.jpg" width="624" height="554" alt="" /&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p  style="mso-char-indent-count:0"&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;点击&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;Finish&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;按钮后，向导将为我们创建一个包含三个表模型和一个视图模型的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;EDM&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;。同时向导还会从数据库读取外键约束并推知一个存在于&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:&#xD;
10.5pt;color:black"&gt;Poet&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;表和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;Poem(s)&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;表之间的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;OTM&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;（&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;one-to-many&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;）关系和一个&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;Meter&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;Poem(s)&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;之间的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;OTM&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;&#xD;
mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;关系。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="text-indent:0cm;mso-char-indent-count:0"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;span style="mso-tab-count:1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;下图展示了我们选中&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;Poet&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;表，&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;Poem&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;表，&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;Meter&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;表以及&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;vwLibrary&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:&#xD;
宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;&#xD;
mso-hansi-theme-font:minor-latin;color:black"&gt;视图后得到的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;EDM&lt;/span&gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;设计图。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  style="margin-left:42.0pt;text-indent:0cm;mso-char-indent-count:&#xD;
0"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/xuefly/2-9.jpg" width="568" height="451" alt="" /&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p  style="mso-char-indent-count:0"&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;现在我们拥有了一个可以在编码中使用的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:&#xD;
10.5pt;color:black"&gt;EDM&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;了。有一点需要注意，&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;vwLibrary&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;实体类型是基于数据库中的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:&#xD;
10.5pt;color:black"&gt;vwLibrary&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;视图的。在大部分关系数据库中，视图是只读对象：插入，删除以及更新在数据库层是不被支持的。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;Entity Framework&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;中也是这样，&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;Entity Framework&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&#xD;
mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:&#xD;
Calibri;mso-hansi-theme-font:minor-latin;color:black"&gt;将视图视为只读。但是，我们可以通过将自定义的存储过程映射给基于视图的实体模型的&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;create,update,&lt;/span&gt;&lt;span style="mso-bidi-font-size:10.5pt;font-family:宋体;mso-ascii-font-family:Calibri;&#xD;
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:&#xD;
minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;&#xD;
color:black"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;&#xD;
color:black"&gt;delete&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; "&gt;动作来做到对视图的增删改。这一点我们会在后续的文章中展示给大家。&lt;/span&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:10.5pt;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:&#xD;
auto;text-align:left;line-height:18.75pt;mso-pagination:widow-orphan;&#xD;
mso-outline-level:1;background:#CCCCCC"&gt;&lt;strong&gt;&lt;span style="font-size:13.5pt;&#xD;
font-family:宋体;mso-ascii-font-family:Georgia;mso-hansi-font-family:Georgia;&#xD;
mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;如何工作？&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="font-size:13.5pt;font-family:&amp;quot;Georgia&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-font-family:&#xD;
宋体;mso-bidi-font-family:宋体;color:#333333;mso-font-kerning:18.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;span &gt;&lt;span style="mso-bidi-font-size:&#xD;
10.5pt;font-family:宋体;mso-ascii-font-family:Georgia;mso-fareast-font-family:&#xD;
宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Georgia;&#xD;
color:#333333"&gt;下面的代码示范了如何插入和如何查询数据&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size:9.5pt;font-family:NSimSun;mso-bidi-font-family:NSimSun;&#xD;
color:blue;mso-font-kerning:0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('ab89b2d6-fe5b-490f-a92c-5062adb854ce')"&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"  id="code_img_opened_ab89b2d6-fe5b-490f-a92c-5062adb854ce" onclick="cnblogs_code_hide('ab89b2d6-fe5b-490f-a92c-5062adb854ce',event)" style="display:none"&gt;&#xD;
&lt;div id="cnblogs_code_open_ab89b2d6-fe5b-490f-a92c-5062adb854ce" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Collections.Generic;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Linq;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;System.Text;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Recipe2&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Program&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Main(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;[]&amp;nbsp;args)&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cleanup();&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RunExample();&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Cleanup()&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.poem&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.poet&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ExecuteStoreCommand(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;delete&amp;nbsp;from&amp;nbsp;chapter2.meter&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&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;static&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;RunExample()&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;poet&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poet&amp;nbsp;{&amp;nbsp;FirstName&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;John&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LastName&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;Milton&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;poem&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poem&amp;nbsp;{&amp;nbsp;Title&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;Paradise&amp;nbsp;Lost&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;meter&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Meter&amp;nbsp;{&amp;nbsp;MeterName&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;Iambic&amp;nbsp;Pentameter&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Meter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;meter;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Poet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poet;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Poems.AddObject(poem);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poem&amp;nbsp;{&amp;nbsp;Title&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;Paradise&amp;nbsp;Regained&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Meter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;meter;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Poet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poet;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Poems.AddObject(poem);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poet&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poet&amp;nbsp;{&amp;nbsp;FirstName&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;Lewis&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LastName&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;Carroll&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poem&amp;nbsp;{&amp;nbsp;Title&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;The&amp;nbsp;Hunting&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Shark&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;meter&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Meter&amp;nbsp;{&amp;nbsp;MeterName&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;Anapestic&amp;nbsp;Tetrameter&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Meter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;meter;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Poet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poet;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Poems.AddObject(poem);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poet&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poet&amp;nbsp;{&amp;nbsp;FirstName&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;Lord&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;LastName&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;Byron&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Poem&amp;nbsp;{&amp;nbsp;Title&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;Don&amp;nbsp;Juan&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;};&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Meter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;meter;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poem.Poet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poet;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Poems.AddObject(poem);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.SaveChanges();&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.ContextOptions.LazyLoadingEnabled&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;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;poets&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;from&amp;nbsp;p&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.Poets&amp;nbsp;select&amp;nbsp;p;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;poet&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poets)&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&amp;nbsp;{1}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;poet.FirstName,&amp;nbsp;poet.LastName);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;poem&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;poet.Poems)&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\t{0}&amp;nbsp;({1})&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;poem.Title,&amp;nbsp;poem.Meter.MeterName);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;using&amp;nbsp;our&amp;nbsp;vwLibrary&amp;nbsp;view&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;using&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;context&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;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;EFRecipesEntities())&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;items&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;from&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;context.vwLibraries&amp;nbsp;select&amp;nbsp;i;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;item&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;items)&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0}&amp;nbsp;{1}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;item.FirstName,&amp;nbsp;item.LastName);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\t{0}&amp;nbsp;({1})&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;item.Title,&amp;nbsp;item.MeterName);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Press&amp;nbsp;&amp;lt;enter&amp;gt;&amp;nbsp;to&amp;nbsp;continue...&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.ReadLine();&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style="color: #008080;"&gt;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="font-family: 宋体; "&gt;输出结果：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Lord Byron&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Don Juan (Anapestic&#xD;
Tetrameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Lewis Carroll&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;The Hunting of the Shark&#xD;
(Anapestic Tetrameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;John Milton&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Paradise Regained&#xD;
(Iambic Pentameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Paradise Lost (Iambic&#xD;
Pentameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Lewis Carroll&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;The Hunting of the Shark&#xD;
(Anapestic Tetrameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Lord Byron&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Don Juan (Anapestic&#xD;
Tetrameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;John Milton&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Paradise Regained&#xD;
(Iambic Pentameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p  align="left" style="text-align:left;mso-layout-grid-align:&#xD;
none;text-autospace:none"&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;John Milton&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-bidi-font-family:&#xD;
TheSansMonoConNormal;color:black;mso-font-kerning:0pt"&gt;Paradise Lost (Iambic Pentameter)&lt;/span&gt;&lt;/strong&gt;&lt;strong style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US" style="mso-bidi-font-size:&#xD;
10.5pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="font-family: Georgia, 'Times New Roman', Times, san-serif; line-height: 25px; color: #333333; "&gt;源码下载：&lt;a href="http://files.cnblogs.com/xuefly/Recipe2.rar" target="_blank"&gt;Recipe2.rar&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/kevin-wang/archive/2010/06/20/Modeling-a-Many-to-Many-Relationship.html" title="下一篇：Entity Framework实战-多对多关系建模" target="_blank"&gt;下一篇：2-3.Entity Framework实战-多对多关系建模&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/xuefly/aggbug/1768735.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xuefly/archive/2010/06/30/Creating-a-Model-from-an-Existing-Database.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2010/02/23/1672268.html</id><title type="text">总结一下领域模型的验证：附代码下载</title><summary type="text">正是这些被约束的数据组成了Domain Model，通过这些约束，低级的数据（基本数据类型）被我们组织成了更高一级的复杂类型的数据——Domain Model Class，然后领域中的所有Domain Model交织起来最终又诠释了整个领域。我们认为：没有边界的宇宙中的每一个概念都是被约束出来的，无论是“领域”还是领域中的“模型”，终极都是由规则约束出来的具有边界的问题模型。如果没有了约束就没有了Model没有了Domain，一切可以认识的东西都没有了，只剩下了一个开放的没有边界的宇宙了。可见“规则”（Rule）是多么的重要，而执行规则就需要“验证”（Validation）。</summary><published>2010-02-23T14:38:00Z</published><updated>2010-02-23T14:38:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2010/02/23/1672268.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2010/02/23/1672268.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px"&gt;&lt;span style="line-height: 21px; font-family: verdana,'courier new'; font-size: 14px"&gt; &#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span style="font-family: 宋体"&gt;一：&lt;strong&gt;什么是领域模型（&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Domain Model&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Entitys&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Value Objects&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Relations&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span style="font-family: 宋体"&gt;二：&lt;strong&gt;只谈验证（&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Validation&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&amp;#8212;&amp;#8212;三种常见的做法&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Constructor/Method based Validation&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Validate() Method&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Validation Services&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto 5px 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Verdana,sans-serif; color: #333333; font-size: 9pt"&gt;Validation Configuration&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;span style="font-family: 宋体"&gt;一：&lt;strong&gt;什么是领域模型（&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Domain Model&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 5px auto"&gt;&lt;span style="font-family: 宋体"&gt;我们可以在概念层次认为&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;就是在大的领域边界中的，可以用基于离散的思想来限定出的，承载&amp;#8220;数据&amp;#8221;和&amp;#8220;关系&amp;#8221;的小边界（个人给的定义，仅供参考）。定义中蕴含着这样一层意思：所谓模型乃是我们限定出的用于解决问题的承载着&amp;#8220;数据&amp;#8221;与&amp;#8220;关系&amp;#8221;的&amp;#8220;问题边界&amp;#8221;，也就是&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;不一定跟现实中的真实物理对象一一对应，虽然大都一一对应。领域大边界由&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;小边界来明确，&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;小边界需要由领域大边界来给限定出问题的范围（因为宇宙是无穷的开放的，除了那个终极规律外的任何规律都是有适用范围的，不限定出范围就会寸步难行，无法认识任何问题了）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 0px; margin: 5px auto"&gt;&lt;span style="font-family: 宋体"&gt;领域模型承载的数据可以分为两个类别：&lt;/span&gt;Entitys&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;Value Objects&lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;中的数据依照一定&amp;#8220;规则&amp;#8221;模拟出一个有机的问题模型，这个&amp;#8220;规则&amp;#8221;约等于&lt;/span&gt;Relations&lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;span&gt;&lt;strong&gt;1，&lt;/strong&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Entity&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;是这样的数据，在它的生命周期中需要一个标识（&lt;/span&gt;Identity&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体"&gt;。在&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;中（注意这里的&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;是在一个限定的领域中的）如果某条数据脱离了这个标识就没有了意义的话，那么这样的数据就是该&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;Entitys&lt;span style="font-family: 宋体"&gt;类别的数据了。比如在&lt;/span&gt;cnblogs&lt;span style="font-family: 宋体"&gt;的系统中，每一个&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;都有一个&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;，但是这个&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;是可以修改的，当我修改了我的&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;BlogTile&lt;span style="font-family: 宋体"&gt;后我却依然能够通过&amp;#8220;&lt;/span&gt;&lt;a href="http://www.cnblogs.com/xuefly" target="_blank"&gt;www.cnblogs.com/xuefly&lt;/a&gt;&lt;span style="font-family: 宋体"&gt;&amp;#8221;访问到，这里可以说&amp;#8220;&lt;/span&gt;&lt;a href="http://www.cnblogs.com/xuefly" target="_blank"&gt;www.cnblogs.com/xuefly&lt;/a&gt;&lt;span style="font-family: 宋体"&gt;&amp;#8221;就是我的&lt;/span&gt;blog&lt;span style="font-family: 宋体"&gt;的标识了。如果没有这个标识存在的话，那么&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;在空间中的存在也就没有了意义（当&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;与&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;脱离后&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;就变成了&amp;#8220;字符串&amp;#8221;，而在&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中&amp;#8220;字符串&amp;#8221;是没有意义的）。像&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;这样的数据就是属于&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;模型的的&lt;/span&gt;Entitys&lt;span style="font-family: 宋体"&gt;类别的数据，我们把这样的数据交给&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;来验证的话是合理的。比如当我们修改自己的&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;BlogTile&lt;span style="font-family: 宋体"&gt;中包含敏感的非法字符时或者长度超过了一定限度时，修改就不会保存成功，这里的验证就该是由&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;本身来完成的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;strong&gt;2，&lt;/strong&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Value Objects&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;是这样的数据：它的存在不需要标识&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体"&gt;。存在就是要有意义，还是在&lt;/span&gt;cnblogs&lt;span style="font-family: 宋体"&gt;的系统中，每个&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;都会有博主（&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;），因为我们的&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;是单用户的所以在&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;中应该会有一个&lt;/span&gt;BlogUser:Person&lt;span style="font-family: 宋体"&gt;类型的属性，我们假设这个属性被命名为&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/xuefly/Blog_UML.png" width="475" height="354" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;span style="font-family: 宋体"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;是一个&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;类型的对象，&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;类型对象的存在不依赖于&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的存在，也就是即使没有&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的话这个被指向了&lt;/span&gt;BlogSite.BlogOwner&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;类型的对象依然有存在的意义（是否可以这样理解，&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;是一个&lt;/span&gt;Person&lt;span style="font-family: 宋体"&gt;，而&lt;/span&gt;Person&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中是具有意义的）。这里的&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;就可以归为&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;Value Object&lt;span style="font-family: 宋体"&gt;类别的数据了。我们看到&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;有一个&lt;/span&gt;ID&lt;span style="font-family: 宋体"&gt;标识，这个&lt;/span&gt;ID&lt;span style="font-family: 宋体"&gt;标识是提供给&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;这样的&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;Entitys&lt;span style="font-family: 宋体"&gt;类别的数据的，并不是提供给&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;的。再进一步说明就是：在一个&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;类型的对象&lt;/span&gt;blogSite1&lt;span style="font-family: 宋体"&gt;中，&lt;/span&gt;blogSite1&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;属性值原来指向&lt;/span&gt;user1&lt;span style="font-family: 宋体"&gt;，而现在我们把&lt;/span&gt;blogSite1.BlogOwner&lt;span style="font-family: 宋体"&gt;指向&lt;/span&gt;null&lt;span style="font-family: 宋体"&gt;，这时&lt;/span&gt;user1&lt;span style="font-family: 宋体"&gt;失去了与&lt;/span&gt;blogSite1&lt;span style="font-family: 宋体"&gt;的联系，然而&lt;/span&gt;user1&lt;span style="font-family: 宋体"&gt;却在整个&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中依旧具有实际的意义，因为在&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中必须有用户这个概念（&lt;/span&gt;BlogUser Class&lt;span style="font-family: 宋体"&gt;），&lt;/span&gt;user1&lt;span style="font-family: 宋体"&gt;是一个用户，&lt;/span&gt;user1&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;blog&lt;span style="font-family: 宋体"&gt;领域中依旧有意义。而&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;就不同了（&lt;/span&gt;blogSite1.BlogTitle = blogTitle1&lt;span style="font-family: 宋体"&gt;），如果我们把&lt;/span&gt;blogSite1.BlogTitle&lt;span style="font-family: 宋体"&gt;指向&lt;/span&gt;null&lt;span style="font-family: 宋体"&gt;的话，&lt;/span&gt;BlogTitle1&lt;span style="font-family: 宋体"&gt;同样与&lt;/span&gt;blogSite1&lt;span style="font-family: 宋体"&gt;脱离了关系，这个时候&lt;/span&gt;blogTitle1&lt;span style="font-family: 宋体"&gt;由&amp;#8220;博客标题&amp;#8221;变成了&amp;#8220;字符串&amp;#8221;，&lt;/span&gt;blogTitle1&lt;span style="font-family: 宋体"&gt;是个字符串，它在&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中没有意义。&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;属于&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;Value Objects&lt;span style="font-family: 宋体"&gt;类别的数据，&lt;/span&gt;BlogOwner&lt;span style="font-family: 宋体"&gt;的数据应交由&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;模型来验证，不应由&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;模型来验证。与&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;一样&lt;/span&gt;BlogUser.Name&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;BlogUser.LoginID&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;BlogUser.Password&lt;span style="font-family: 宋体"&gt;属于&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;模型的&lt;/span&gt;Entitys&lt;span style="font-family: 宋体"&gt;类别的数据。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;3，&lt;/strong&gt;&lt;span style="font-family: verdana,'courier new'" &gt;&lt;strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;关系（&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: verdana,'courier new'" &gt;&lt;strong&gt;Relations&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;二，&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;只谈验证（&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Domain Model Validation&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;）&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;业务规则要求我们的&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;必须满足某些约束，比如&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;的长度不能大于等于&lt;/span&gt;255&lt;span style="font-family: 宋体"&gt;个字符等，这就是业务规则。如果说对&lt;/span&gt;BlogTitle&lt;span style="font-family: 宋体"&gt;的长度进行约束貌似还有点不怎么说的通的话，那么在&lt;/span&gt;Blog&lt;span style="font-family: 宋体"&gt;领域中业务规则要求&lt;/span&gt;BlogUser&lt;span style="font-family: 宋体"&gt;类型的对象的&lt;/span&gt;Age&lt;span style="font-family: 宋体"&gt;属性不能小于等于零就是无可厚非的了。正是这些被约束的数据组成了&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;，通过这些约束，低级的数据（基本数据类型）被我们组织成了更高一级的复杂类型的数据&amp;#8212;&amp;#8212;&lt;/span&gt;Domain Model Class&lt;span style="font-family: 宋体"&gt;，然后领域中的所有&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;交织起来最终又诠释了整个领域。我们认为：没有边界的宇宙中的每一个概念都是被约束出来的，无论是&amp;#8220;领域&amp;#8221;还是领域中的&amp;#8220;模型&amp;#8221;，终极都是由规则约束出来的具有边界的问题模型。如果没有了约束就没有了&lt;/span&gt;Model&lt;span style="font-family: 宋体"&gt;没有了&lt;/span&gt;Domain&lt;span style="font-family: 宋体"&gt;，一切可以认识的东西都没有了，只剩下了一个开放的没有边界的宇宙了。可见&amp;#8220;规则&amp;#8221;（&lt;/span&gt;Rule&lt;span style="font-family: 宋体"&gt;）是多么的重要，而执行规则就需要&amp;#8220;验证&amp;#8221;（&lt;/span&gt;Validation&lt;span style="font-family: 宋体"&gt;）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;strong&gt;&lt;span&gt;1， &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;基于构造的验证&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体"&gt;将验证放在构造对象的时候，比如构造函数中或者放在属性中。在这种情况下，当验证失败的时候我们一般直接抛出异常，比如抛出自定义的&lt;/span&gt;ValidationException&lt;span style="font-family: 宋体"&gt;异常，将错误信息放在自定义异常中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('d0b0858e-d650-4278-92e2-5923cdbddef6')"&gt;&lt;img style="display: none" id="code_img_opened_d0b0858e-d650-4278-92e2-5923cdbddef6"  onclick="cnblogs_code_hide('d0b0858e-d650-4278-92e2-5923cdbddef6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_d0b0858e-d650-4278-92e2-5923cdbddef6" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&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;Person&amp;nbsp;:&amp;nbsp;Entity&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_name;&lt;br /&gt;&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;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime&amp;nbsp;_birthday;&lt;br /&gt;&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Name&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_name;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;set&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(value.IsNullOrEmpty())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsNullOrEmptyException(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;名称不能为空&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_name&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime&amp;nbsp;Birthday&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;_birthday;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;set&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(value&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime.Now&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;||&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime.Now.AddYears(&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;120&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;throw&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ValidationException(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;出生日期不在有效的范围内&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_birthday&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 3pt; margin: 0cm 0cm 0pt 18pt" &gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;测试如下：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('2e4e9ae6-87c1-4a91-9c1c-4bd928af4737')"&gt;&lt;img style="display: none" id="code_img_opened_2e4e9ae6-87c1-4a91-9c1c-4bd928af4737"  onclick="cnblogs_code_hide('2e4e9ae6-87c1-4a91-9c1c-4bd928af4737',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_2e4e9ae6-87c1-4a91-9c1c-4bd928af4737" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;[TestFixture]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&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;PersonTest&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[TestCase]&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TestPerson()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Person&amp;nbsp;person&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;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Person&amp;nbsp;{&amp;nbsp;Name&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;xuefly&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;Birthday&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime.Now.AddYears(&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;20&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Assert.IsNotNull(person);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[TestCase]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ExpectedException(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(IsNullOrEmptyException))]&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;NameShouldNotBeNullOrEmpty()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Person&amp;nbsp;person&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;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Person&amp;nbsp;{&amp;nbsp;Name&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: #000000"&gt;,&amp;nbsp;Birthday&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime.Now.AddYears(&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #800080"&gt;20&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[TestCase]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ExpectedException(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(ValidationException))]&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BirthdayShouldNotGreatThanNow()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Person&amp;nbsp;person&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;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Person&amp;nbsp;{&amp;nbsp;Name&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;xuefly&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;Birthday&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime.Now.AddYears(&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 5px auto 5px 18pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 3pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 3pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;如愿的抛出了异常。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: verdana,'courier new'; font-size: 14px" &gt;&lt;strong&gt;2，Validate()&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;方法验证&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 18pt" align="left"&gt;&lt;span style="font-family: 宋体"&gt;给每一个&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;实现一个&amp;#8220;&lt;/span&gt;Validate()&lt;span style="font-family: 宋体"&gt;&amp;#8221;方法。在这种情况下，我们在使用&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;的时候主动调用该方法来验证对象的合法性，如果验证失败直接抛出异常或者返回一个类似&lt;/span&gt;List&amp;lt;ValidationError&amp;gt;&lt;span style="font-family: 宋体"&gt;这样形式的集合。这样的话，约束&lt;/span&gt;Domain Model&lt;span style="font-family: 宋体"&gt;的&amp;#8220;法律&lt;/span&gt;/&lt;span style="font-family: 宋体"&gt;规则&amp;#8221;可以被违犯，执不执行法律的权利交给了上层的用户，比较灵活但同时上层的用户肩负起了责任。（就像&lt;/span&gt;google&lt;span style="font-family: 宋体"&gt;搞出来的那几个&amp;#8220;&lt;/span&gt;google&lt;span style="font-family: 宋体"&gt;事件&amp;#8221;一样，&lt;/span&gt;google&lt;span style="font-family: 宋体"&gt;违犯了我们的法律，确定无疑！皮球已经踢到了我们这边，处不处罚&lt;/span&gt;google&lt;span style="font-family: 宋体"&gt;是我们必须要决定的事情）&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 18pt" align="left"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 18pt" align="left"&gt;&lt;span style="font-family: 宋体"&gt;我们先定义一个用来封装业务规则的类叫&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #2b91af; font-size: 10pt"&gt;BrokenBusinessRule&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 新宋体; color: blue; font-size: 10pt"&gt;public&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BrokenBusinessRule&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; BrokenBusinessRule(&lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; property, &lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; rule)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Property = property;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rule = rule;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; Property { &lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; Rule { &lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;span style="font-family: 宋体"&gt;下面我们针对&lt;/span&gt;BlogSite&lt;span style="font-family: 宋体"&gt;来书写验证：其中的&lt;/span&gt;GetBrokenRules()&lt;span style="font-family: 宋体"&gt;方法就是&lt;/span&gt;Validate() Method&lt;/p&gt;&#xD;
&lt;p style="text-align: left; margin: 0cm 0cm 0pt 18pt" align="left"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 3pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&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;BlogSite&amp;nbsp;:&amp;nbsp;Entity&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&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;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsValidated&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;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BlogTitle&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DomainName&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BlogUser&amp;nbsp;BlogOwner&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;该方法就是Validate()&amp;nbsp;Method&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&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;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BrokenBusinessRule&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GetBrokenRules()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BrokenBusinessRule&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;brokenRules;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(IsValidated)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BrokenBusinessRule&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;下面的代码参考http:&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;www.cnblogs.com/tristanguo/archive/2009/05/15/1457197.html&amp;nbsp;感谢tristanguo&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;brokenRules&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;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Validator&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BlogSite&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;).Validate(b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BlogTitle.IsNullOrEmpty(),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BrokenBusinessRule(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;BlogTitle&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: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;博客名称不能为空&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Validate(b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DomainName.IsNullOrEmpty(),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BrokenBusinessRule(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;DomainName&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: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;域名不能为空&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.BrokenRoles;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;brokenRules.AddRange(BlogOwner.GetBrokenRules());&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsValidated&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;brokenRules.Count&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: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;brokenRules;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 3pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;同样，我们使用NUnit测试一下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20.25pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;[&lt;span style="color: #2b91af"&gt;TestFixture&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BlogUserTest&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af"&gt;TestCase&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; TestBlogUser()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; blogUser = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; { LoginID=&lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Name=&lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Birthday=&lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.Now.AddYears(1), Password=&lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;};&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Assert&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.IsTrue(blogUser.GetBrokenRules().Count == 4);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af"&gt;TestCase&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; TestBlogUser1()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;// Name&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: green; font-size: 10pt"&gt;和Birthday是在BlogUser的基类Person中定义的&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; blogUser = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; { LoginID = &lt;span style="color: #a31515"&gt;"xuefly"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Name = &lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Birthday = &lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.Now.AddYears(1), Password = &lt;span style="color: #a31515"&gt;"123456"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Assert&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.IsTrue(blogUser.GetBrokenRules().Count == 2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af"&gt;TestCase&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; TestBlogUser2()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;// 1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: green; font-size: 10pt"&gt;：LoginID为空；2：密码为空&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; blogUser = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BlogUser&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; { LoginID = &lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Name = &lt;span style="color: #a31515"&gt;"xuefly"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;, Birthday = &lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.Now.AddYears(-20), Password = &lt;span style="color: #a31515"&gt;""&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt; };&lt;span style="color: green"&gt;// Name&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: green; font-size: 10pt"&gt;和Birthday是在BlogUser的基类Person中定义的&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Assert&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;.IsTrue(blogUser.GetBrokenRules().Count == 2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 10pt"&gt;测试也通过了。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;strong&gt;&lt;span&gt;3， &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;验证服务&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体"&gt;这个类别是我通过观察&lt;/span&gt;Oxite2&lt;span style="font-family: 宋体"&gt;的验证机制分出来的，叫法不一定正确，下一篇书写。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体; color: #333333; font-size: 9pt"&gt;欢迎加入&lt;/span&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 9pt"&gt;Oxite&lt;/span&gt;&lt;span style="font-family: 宋体; color: #333333; font-size: 9pt"&gt;小组一起学习：&lt;/span&gt;&lt;span style="font-family: 'Georgia','serif'; color: #333333"&gt;&lt;a style="outline-style: none" href="http://space.cnblogs.com/group/Oxite/" target="_blank"&gt;&lt;span style="font-family: 宋体; color: #3d81ee; font-size: 9pt"&gt;&lt;span&gt;博客园&lt;/span&gt;&lt;span style="font-family: 'Calibri','sans-serif'; color: #3d81ee; font-size: 9pt"&gt;Oxite&lt;/span&gt;&lt;span style="font-family: 宋体; color: #3d81ee; font-size: 9pt"&gt;小组&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: -18pt; margin: 0cm 0cm 0pt 18pt"&gt;&lt;strong&gt;&lt;span style="font-family: 'Verdana','sans-serif'; color: #333333; font-size: 9pt"&gt;4， &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; color: #333333; font-size: 9pt"&gt;基于配置的验证&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 18pt"&gt;&lt;span style="font-family: 宋体"&gt;这个我现在还不是很清楚，不知道跟我想象的是一回事不，等弄清楚了再书写吧。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;代码这里下载：&lt;a title="下载代码" href="http://files.cnblogs.com/xuefly/Xuefly.Validation.rar" target="_blank"&gt;下载代码&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/xuefly/Validation.png" width="309" height="645" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;参考：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a title="Domain Model Validation" href="http://uri.jteam.nl/?p=7" target="_blank"&gt;Domain Model Validation&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 10.5pt"&gt;&lt;a title="也谈实体验证（Entity Validation）" href="http://www.cnblogs.com/tristanguo/archive/2009/05/15/1457197.html" target="_blank"&gt;也谈实体验证（Entity Validation）&lt;/a&gt;&lt;a href="http://www.cnblogs.com/tristanguo/archive/2009/05/15/1457197.html" target="_blank"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/xuefly/aggbug/1672268.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/xuefly/archive/2010/02/23/1672268.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/09/22/1571497.html</id><title type="text">Oxite2插件机制分析</title><summary type="text">小组希望我写一些关于Oxite2的插件机制的文字。我以前没有接触过插件机制，因此答应介绍这个话题，因为我可以就着Oxite2的源码趁机学习一下哈。我们小组是Oxite2开源项目学习小组，这篇文章的内容主要是通过对Oxite2代码的学习得来的，所以文章谈论的内容局限于Oxite2的插件机制，并不是ASP.NET插件机制的总结性文章。我尽最大努力保证文章内容的正确性，对于不正确的地方一定要指出来。</summary><published>2009-09-21T18:36:00Z</published><updated>2009-09-21T18:36:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/09/22/1571497.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/09/22/1571497.html"/></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/09/14/1566545.html</id><title type="text">浅谈Oxite2的数据访问和数据验证</title><summary type="text">我们看到Oxite2的数据访问层使用了Repository模式。其中IRepository接口关联的是Domain Model（领域模型）与Entity无关。线条为红色的部分是数据访问层，为了体现出更多的信息我在图上加入了目前并不存在的OracleRepository以及可有可无的数据库实体Entity。LinqToSqlEntity专用于Linq2Sql与DataContext耦合的太紧密，用来当做各数据库的通用实体不太合适。</summary><published>2009-09-14T11:14:00Z</published><updated>2009-09-14T11:14:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/09/14/1566545.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/09/14/1566545.html"/></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/09/05/1560667.html</id><title type="text">Oxite2初探</title><summary type="text">由于Oxite1在ASP.NET MVC1还未发布的时候就早早地发布了，2009年2月15日发布的Oxite1口碑不好，但是即将发布的经过重新开发的Oxite2已经不再羸弱了，有非常多的值得观察与学习的地方。本文讨论的内容是基于Oxite2的……</summary><published>2009-09-04T17:29:00Z</published><updated>2009-09-04T17:29:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/09/05/1560667.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/09/05/1560667.html"/></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/08/12/1544269.html</id><title type="text">Asp.net MVC项目的部署（二）：对IIS7的补充</title><summary type="text">由于第一篇太长，本来应该放在第一篇的关于IIS7的知识被放在了第二篇，你可以结合第一篇，比较着IIS6来理解IIS7的改变。主要参考资料：Pro Asp.net MVC Framework.pdf（你可以搜索下载到）在IIS7的集成管线模式中请求是如何被处理的IIS7引入了一个激进的不同以前的管线模式，叫做集成管线模式，在这个模式中.NET是Web服务器本地支持的一部分。现在，IIS不再需要一个ISAPI扩展来激活.NET代码了——IIS7自己就可以搞定了，现在IIS7可以直接从.NET程序集中调用HTTP modules和HTTP handlers了。当然，如果你愿意的话，你仍然可以使用老的模式，依旧可以使用非托管的ISAPI扩展。</summary><published>2009-08-12T03:07:00Z</published><updated>2009-08-12T03:07:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/08/12/1544269.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/08/12/1544269.html"/></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/07/31/1535571.html</id><title type="text">Asp.net MVC项目的部署（一）：IIS以及Asp.net与IIS相关的部分</title><summary type="text">Asp.net MVC 1.0正式发布至今已将近四个月了，想必了解Asp.net MVC的人越来越多。打算写一点关于如何部署Asp.net MVC的文字。内容包括：IIS的版本变化，Asp.net的工作原理等。涉及的东西比较基础，内容也比较多，肯定会有我们已经知道的东西，但是为了完整性，可能会分（一）、（二）……如果你对Asp.net不太熟悉的话，可能阅读中会遇到一些理解不了的地方，在这些地方我会给出推荐您阅读的书籍或者园友的文章供你参考，如果你是Asp.net高级开发人员的话可以略过。主要参考资料：Pro Asp.net MVC Framework.pdf（你可以搜索下载到）</summary><published>2009-07-30T21:29:00Z</published><updated>2009-07-30T21:29:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/07/31/1535571.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/07/31/1535571.html"/></entry><entry><id>http://www.cnblogs.com/xuefly/archive/2009/06/12/1502059.html</id><title type="text">我觉得现在计算机行业&amp;quot;人力&amp;quot;过剩主要有两个原因 + 一个前提</title><summary type="text">由于以上80后的特质和计算机行业在上个年代特殊的地位造就了现在这个情况。无论作为面试官的70后的你们怎么找接口说自己面试不到人才也掩盖不了你见到了多的像牛毛一样的80后的人才这个事实！中国的人才积累已经到了顶峰，80后们过了中年的时候才是中国真正缺少人才的时候！就看政府和大家怎么用这些人才了。但是无论怎样，等到我们这些80后们退休的时候几乎可以肯定的预见到未来的中国是什么个样子了。中国不缺人才！就像现在这样仅仅1/3的人才在发挥作用就足以保证民族的复兴了。</summary><published>2009-06-12T05:02:00Z</published><updated>2009-06-12T05:02:00Z</updated><author><name>xuefly</name><uri>http://www.cnblogs.com/xuefly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/xuefly/archive/2009/06/12/1502059.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/xuefly/archive/2009/06/12/1502059.html"/></entry></feed>
