<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tecnocrata</title><link>http://geeks.ms/blogs/eortuno/default.aspx</link><description /><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Charla de Paralelismo con ASP.NET MVC</title><link>http://geeks.ms/blogs/eortuno/archive/2012/02/02/charla-de-paralelismo-con-asp-net-mvc.aspx</link><pubDate>Fri, 03 Feb 2012 03:16:08 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203160</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=203160</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=203160</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/02/02/charla-de-paralelismo-con-asp-net-mvc.aspx#comments</comments><description>&lt;p&gt;El Dia Jueves 26 de Enero tuve el placer de compartir con los miembros del CUTMS &lt;a href="http://cutmsc.com/publicopencutm/b/cutm-sc/archive/2012/01/24/este-jueves-26-a-las-19-30-iniciamos-el-2012-con-nuevas-charlas.aspx" target="_blank"&gt;aqui en Cochabamba&lt;/a&gt;, una charla acerca de las ventajas de usar paralelismo con ASP.NET MVC.&lt;/p&gt;  &lt;p&gt;Aqui les dejo algunas fotografias:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/WP_5F00_000016_5F00_21709B1D.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="WP_000016" border="0" alt="WP_000016" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/WP_5F00_000016_5F00_thumb_5F00_75AC58FB.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/WP_5F00_000013_5F00_59BB2403.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="WP_000013" border="0" alt="WP_000013" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/WP_5F00_000013_5F00_thumb_5F00_7F142FFD.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Aqui pueden descargarse el codigo de demostracion que utilice en esa presentacion:&lt;/p&gt;  &lt;p&gt;https://skydrive.live.com/redir.aspx?cid=e46b27f9dbbd40a1&amp;amp;resid=E46B27F9DBBD40A1!429&amp;amp;parid=E46B27F9DBBD40A1!379&amp;amp;authkey=!ADcs8NahlPigLD0&lt;/p&gt;  &lt;p&gt;Un abrazo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203160" width="1" height="1"&gt;</description></item><item><title>Mejorando la experiencia en ASP.NET MVC (II)</title><link>http://geeks.ms/blogs/eortuno/archive/2012/01/22/mejorando-la-experiencia-en-asp-net-mvc-ii.aspx</link><pubDate>Mon, 23 Jan 2012 01:30:10 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202928</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=202928</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=202928</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/01/22/mejorando-la-experiencia-en-asp-net-mvc-ii.aspx#comments</comments><description>&lt;p&gt;Continuando con la serie de articulos, en esta ocacion les muestro como mejorar el codigo del anterior post, esta vez si aprovechando las caracteristicas de paralelismos y asincronismo de ASP.NET MVC.&lt;/p&gt;  &lt;p&gt;En esta ocacion lo que voy a mostra es mismo codigo que accede a Rss Feeds, pero por alguna “extrana” razon voy a necesita consultar varios Rss, por lo tanto tenemos en nuestras manos un conjunto de procesos de alta duracion y que probablemente bloquearan tanto la interface de usuario como las peticiones al servidor web.&lt;/p&gt;  &lt;p&gt;El codigo normal que escribiriamos es el siguiente:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:17f51cbe-1f31-46c2-9569-ceea4083c33b" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:708px;height:290px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; Normal1Controller : Controller
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; ActionResult Index2()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;        RssFeed feed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; geeks &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;            feed.GetRssFeed(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://geeks.ms/blogs/MainFeed.aspx&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;        IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; betters &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;            feed.GetRssFeed(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://feeds.feedburner.com/CodeBetter&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; items &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; geeks.Concat(betters);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; View(items);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;El codigo que mejora y aprovecha las caracteristicas asincronas del Framework 4.0, es el siguiente:&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:308e3cfe-44f9-40a5-bf64-cf51d8e668c7" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:708px;height:491px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; Parallel1Controller : AsyncController
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; Index2Async()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;        AsyncManager.OutstandingOperations.Increment(&lt;/span&gt;&lt;span style="color:#800080;"&gt;2&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;        RssFeed geekfeed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        geekfeed.GetRssFeedAsyncCompleted &lt;/span&gt;&lt;span style="color:#000000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (s, e) &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:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.Parameters[&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;geeks&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e.Items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.OutstandingOperations.Decrement();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        };
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;        geekfeed.GetRssFeedAsync(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://geeks.ms/blogs/MainFeed.aspx&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;        RssFeed betterfeed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;        betterfeed.GetRssFeedAsyncCompleted &lt;/span&gt;&lt;span style="color:#000000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (s, e) &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:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.Parameters[&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;betters&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e.Items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.OutstandingOperations.Decrement();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;        };
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;        betterfeed.GetRssFeedAsync(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://feeds.feedburner.com/CodeBetter&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; ActionResult Index2Completed(IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; geeks, IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; betters)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; View(geeks.Concat(betters));
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Es interesante observar como este codigo tan simple puede brindarnos mejores resultados de rendimiento.&lt;/p&gt;

&lt;p&gt;Espero que les sea util, un abrazo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202928" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Mejorando la experiencia en ASP.NET MVC (I)</title><link>http://geeks.ms/blogs/eortuno/archive/2012/01/19/mejorando-la-experiencia-en-asp-net-mvc-i.aspx</link><pubDate>Thu, 19 Jan 2012 04:25:46 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202874</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=202874</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=202874</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/01/19/mejorando-la-experiencia-en-asp-net-mvc-i.aspx#comments</comments><description>&lt;p align="justify"&gt;Este es el primer articulo de una serie de 3 articulos, que pretenden mostrar algunos de mis experimentos y resultados con ASP.NET, tocando fundamentalmente la experiencia de respuesta al usuario. Como Uds saben no hay nada peor que un sitio/pagina que tarde demasiado en realizar una tarea y mientras mas rapido se complete la tarea mucho mejor y si la tarea involucra procesos que no podemos controlar pues hay algunas tecnicas que si podemos aplicar, una de ellas es motivo de este primer post de la serie.&lt;/p&gt;  &lt;p align="justify"&gt;Utilizando controladores asincronos (AsynController)&lt;/p&gt;  &lt;p align="justify"&gt;Vamos a pensar en una aplicacion de ejemplo irrisoriamente simple, lo unico que hara es recuperar de internet una lista de todos los post de un blog mediante RSS, para ello normalmente utilizariamos codigo como el siguiente:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:b2558b23-490c-4ea0-ad6d-ef65d751d11b" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:708px;height:348px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;event&lt;/span&gt;&lt;span style="color:#000000;"&gt; EventHandler&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;RssEventArgs&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetRssFeedAsyncCompleted;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Synchronous model methods&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetRssFeed(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; uri)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        HttpWebRequest request &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (HttpWebRequest)WebRequest.Create(uri);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;        HttpWebResponse response &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (HttpWebResponse)request.GetResponse();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &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; (XmlReader reader &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; XmlReader.Create(response.GetResponseStream()))
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;            SyndicationFeed feed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; SyndicationFeed.Load(reader);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; feed.Items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;    
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Asynchronous model methods&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetRssFeedAsync(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; uri)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;        HttpWebRequest request &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (HttpWebRequest)WebRequest.Create(uri);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;        request.BeginGetResponse(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; AsyncCallback(OnGetRssFeedAsyncCompleted), request);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; OnGetRssFeedAsyncCompleted(IAsyncResult result)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;        HttpWebRequest request &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (HttpWebRequest)result.AsyncState;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;        HttpWebResponse response &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (HttpWebResponse)request.EndGetResponse(result);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;30&lt;/span&gt; &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; (XmlReader reader &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; XmlReader.Create(response.GetResponseStream()))
&lt;/span&gt;&lt;span style="color:#008080;"&gt;31&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;32&lt;/span&gt; &lt;span style="color:#000000;"&gt;            SyndicationFeed feed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; SyndicationFeed.Load(reader);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;33&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (GetRssFeedAsyncCompleted &lt;/span&gt;&lt;span style="color:#000000;"&gt;!=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;34&lt;/span&gt; &lt;span style="color:#000000;"&gt;                GetRssFeedAsyncCompleted(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssEventArgs { Items &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; feed.Items });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;35&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;36&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;37&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:f83840e6-2985-4723-a5b3-07d16a48bbc8" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:708px;height:279px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; NormalController : Controller
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; ActionResult Index()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;        Stopwatch clock &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Stopwatch();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        clock.Start();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;        RssFeed feed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; items &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;            feed.GetRssFeed(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://geeks.ms/blogs/MainFeed.aspx&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;        clock.Stop();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;        TimeMeasure result &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; TimeMeasure();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        result.TimeElapsed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; clock.ElapsedMilliseconds;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;        result.Data &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; View(result);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p align="justify"&gt;Por favor omitan el codigo de medicion del tiempo relacionado a la clase Stopwatch, en el codigo anterior la linea 9 es la que realiza la accion del cargado del Rss Feed. El resultado de ejecutar este controlador es un tiempo de carga aproximado de 14 segundos:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_7E6DAD17.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_2925C590.png" width="686" height="294" /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Ahora utilizando un Controlador Asincrono, se necesita el siguiente codigo:&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:cb91c7e2-3fb7-4740-882d-41503204f46e" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:708px;height:526px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; ParallelController : AsyncController
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; IndexAsync()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;        Stopwatch clock &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Stopwatch();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        clock.Start();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        AsyncManager.OutstandingOperations.Increment();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;        RssFeed feed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RssFeed();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;        feed.GetRssFeedAsyncCompleted &lt;/span&gt;&lt;span style="color:#000000;"&gt;+=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (s, e) &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:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.Parameters[&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;items&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e.Items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.Parameters[&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;clock&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; clock;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;            AsyncManager.OutstandingOperations.Decrement();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;        };
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;        feed.GetRssFeedAsync(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;http://geeks.ms/blogs/MainFeed.aspx&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; ActionResult IndexCompleted(IEnumerable&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;SyndicationItem&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; items, Stopwatch clock)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;ViewData[&amp;quot;SyndicationItems&amp;quot;] = items;&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;        clock.Stop();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;        TimeMeasure result &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; TimeMeasure();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;        result.TimeElapsed &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; clock.ElapsedMilliseconds;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;        result.Data &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; items;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; View(result);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;30&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p align="justify"&gt;Como pueden observar en el codigo anterior hay algunos elementos que debemos destacar:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;El Controlador ahora hereda de AsyncController&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Existen dos metodos necesarios &amp;lt;Name&amp;gt;Async y su contraparte &amp;lt;Name&amp;gt;Completed, en nuestro caso son IndexAsync e IndexCompleted respectivamente.&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;El paso de parametros se lo realiza mediante una clase especifica llamada AsyncManager.&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;La invocacion simultanea de varios usuarios es controlada, mediante el incremento/decremento de un contador manipulado tambien por AsyncManager.&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p align="justify"&gt;Finalmente el resultado obtenido es la reduccion del tiempo en 4 segundos, tal como se muestra a continuacion:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_1273517C.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_5A80C1BE.png" width="671" height="249" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p align="justify"&gt;La reduccion no es significativa a simple vista pero para los que desarrollamos y tenemos que pensar en cuestiones de performance 4 segundos es una diferencia notable &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_2CEF7C2E.png" /&gt; Pero los AsyncControllers no han sido pensados para reducir velocidad per-se, probablemente aqui es uno de esos efectos colaterales bien deseados. La utilizacion mas importante de los AsyncControllers es evitar el bloqueo del Servidor Web, en la atencion de multiples peticiones concurrentes, esto traera repito el efecto colateral de que un servidor mas libre puede atender mas usuarios y por ende se siente mucho mas rapido.&lt;/p&gt;

&lt;p align="justify"&gt;Espero que esto les sirva a todos Uds, un abrazo y feliz 2012!!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202874" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>La podredumbre del Software, soluciona el problema!</title><link>http://geeks.ms/blogs/eortuno/archive/2011/11/26/la-podredumbre-del-software-soluciona-el-problema.aspx</link><pubDate>Sat, 26 Nov 2011 13:20:07 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:201887</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=201887</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=201887</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/11/26/la-podredumbre-del-software-soluciona-el-problema.aspx#comments</comments><description>&lt;p align="justify"&gt;Cada cierto tiempo me gusta volver, una y otra vez, a leer &lt;a href="http://www.ingenierosoftware.com/analisisydiseno/podredumbre.php" target="_blank"&gt;este interesante articulo&lt;/a&gt;, que describe la decadencia en la que estan o podrian estar algunos proyectos de software. Tampoco voy a mentir u ocultar que algun proyecto que paso por mis manos (y cayo en otras) ha llegado a “podrirse” irremediablemente. Pero si analizamos el articulo a un nivel mas general, a lo que se refiere es a la capacidad y cualidad de mantenibilidad (no se si esta palabra exista siquiera) que tiene un artefacto de software. En otras palabras una pieza de software tendera a podrirse mas rapidamente mientras menor sea su capacidad de ser mantenible&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="537"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/1756863567_5F00_52b429104f_5F00_7F16B375.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="1756863567_52b429104f" border="0" alt="1756863567_52b429104f" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/1756863567_5F00_52b429104f_5F00_thumb_5F00_329ED43A.jpg" width="180" height="260" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="335"&gt;         &lt;p align="justify"&gt;Entonces. el debate que debemos enfocar en cualquier caso (creo yo), NO ES si el software debe podrirse o no, sino cuan RAPIDO debe podrirse. Porque indudablemente en algun momento ese software que tanto nos costo disenar e implementar, terminara por derrumbarse (y aqui debo hacer uso de la &lt;strike&gt;mala&lt;/strike&gt; analogia con las construcciones civiles,) al igual que un edificio terminara por sucumbir a su deterioro/desgaste natural. Y los arquitectos de software, disenadores, programadores debemos asegurarnos que nuestras edificaciones sean resistentes a esa podredumbre inevitable, que trae consigo, nuestro querido amigo “el cambio”. &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top" width="335"&gt;&amp;nbsp;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="537"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/CONSTRUCCION_5F00_edificio_2D00_alambre_5F00_4AE1C888.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="CONSTRUCCION_edificio-alambre" border="0" alt="CONSTRUCCION_edificio-alambre" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/CONSTRUCCION_5F00_edificio_2D00_alambre_5F00_thumb_5F00_3714935A.jpg" width="200" height="260" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="335"&gt;         &lt;p align="justify"&gt;Nuestro software puede y debe ser resitente a factores de cambio “obvios”, es decir a aquellos factores que podemos controlar, como los que son descritos en el articulo referenciado, tales como la viscosidad, rigidez, fragilidad e inmovilidad. Por otra parte, los factores que no podemos controlar, son aquellos que produciran el deterioro “natural” de un proyecto de software. Entre los factores que esta fuera de nuestro control, puedo enumerar: Los cambios en el liderazgo, cambios de vision del proyecto, cambios tecnologicos, cambios en los recursos humanos, etc.&lt;/p&gt;          &lt;p align="justify"&gt;Yo puedo aceptar que un producto de software, &lt;a href="http://jummp.wordpress.com/2011/04/26/el-software-no-se-desgasta-pero-si-se-deteriora/" target="_blank"&gt;se deteriore&lt;/a&gt; “o se vaya pudriendo” por aquellos cambios sobre los que yo no tengo control, pero no aceptare nunca que el mismo producto se derrumbe por aquellos factores en los que si pude hacer algo para evitar su caida.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top" width="335"&gt;&amp;nbsp;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;Desde mi humilde punto de vista y como aporte a los articulos referenciados puedo decir que, muchos problemas de mantenibilidad de un producto de software se deben a la gran diferencia, entre Resolver un Problema y Solucionar un Problema.&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="536"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wpa1255l_5F00_4AFE0023.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="wpa1255l" border="0" alt="wpa1255l" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wpa1255l_5F00_thumb_5F00_7047A7F7.jpg" width="193" height="240" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="334"&gt;         &lt;p align="justify"&gt;Aunque a primera vista ambas frases podrian parecer lo mismo, el concepto detras de “Resolver un problema” va ligado a un parche temporal que se aplica para corregir un problema reportado, en cambio el concepto de “Solucionar un problema” esta vinculado a un proceso mas prolongado de razonamiento e implementacion, para corregir el mismo problema. Mientras el que resuelve el problema ve solo el arbol y se avoca a eliminar de la lista de sus tareas ese incomodo elemento llamado bug, lo mas rapido posible y aplicando una correccion inmediatista, que tarde o temprano provocara o iniciara otro punto de deterioro. En su lugar el que soluciona el problema ve el bosque, toma su tiempo para analizar la implicancia de su correccion y elige la alternativa que brinde un balance entre la urgencia por solucionar el problema y la batalla interna por sostener una buena estructura futura que impida el inicio de un punto de deterioro.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top" width="334"&gt;&amp;nbsp;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;Es por esto que en los equipos de desarrollo que he tenido el gusto de dirigir, mi sugerencia implicita o explicita en otros casos fue: En desarrollo de software, cuando encuentras un problema, por favor NO resuelvas el problema, SOLUCIONA el problema!&lt;/p&gt;  &lt;p align="justify"&gt;La podredumbre del software, se puede retrasar aplicando soluciones a los problemas que vayan apareciendo y aunque estoy consciente que en algunos escenarios no es posible tomarse mucho tiempo para razonar una solucion, siempre es posible volver hacia atras y remover ese horrendo parche que introdujimos al resolver un problema. &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_037838CA.png" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201887" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Opiniones/default.aspx">Opiniones</category></item><item><title>Pasando objetos JSON a los Action Methods en MVC3</title><link>http://geeks.ms/blogs/eortuno/archive/2011/11/10/pasando-objetos-json-a-los-action-methods-en-mvc3.aspx</link><pubDate>Thu, 10 Nov 2011 04:07:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:201610</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=201610</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=201610</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/11/10/pasando-objetos-json-a-los-action-methods-en-mvc3.aspx#comments</comments><description>&lt;p align="justify"&gt;Hace un tiempo atras escribi un post relacionado a como evitar los postbacks haciendo uso de ajax y obviamente jquery (&lt;a target="_blank" href="http://geeks.ms/blogs/eortuno/archive/2010/10/14/transformando-mi-c-243-digo-mvc2-gracias-jquery-json-y-ajax.aspx"&gt;Articulo referenciado&lt;/a&gt;). De ese momento hace practicamente un anio y hoy con algo mas de experiencia vuelvo a analizar un tema similar.&lt;/p&gt;
&lt;p align="justify"&gt;Como pasar un objeto JSON a un Action Method?&lt;/p&gt;
&lt;h2 align="justify"&gt;&lt;span style="text-decoration:underline;"&gt;Escenario del problema&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;En el controlador existe el siguiente metodo (Action Method):&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_13623B5E.png"&gt;&lt;img height="84" width="436" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_31604952.png" align="left" alt="image" title="image" style="display:inline;float:left;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;La clase Person, ridiculamente simple, es como sigue:&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_5B139E78.png"&gt;&lt;img height="129" width="345" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_39B3F8DC.png" alt="image" title="image" style="display:block;float:none;margin-left:auto;margin-right:auto;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Las partes mas importantes del codigo html son los 3 botones locos para las pruebas y los manejadores del evento click para cada boton:&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_47C2C20C.png"&gt;&lt;img height="42" width="504" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_25F6E97B.png" alt="image" title="image" style="display:block;float:none;margin-left:auto;margin-right:auto;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;La idea principal es que cuando se presione uno de los botones HTML, automaticamente se pasa desde javascript hacia el Action Method los objetos que esta esperando dicho metodo y uno de esos parametros es la clase Person que, vendra desde un objeto JSON&lt;/p&gt;
&lt;h2 align="justify"&gt;&lt;span style="text-decoration:underline;"&gt;Soluciones posibles&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;Pareceria una tarea trivial, pero en MVC2 experimente dos soluciones:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;1. El JsonBinder que propuse en el articulo mencionado.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;2. Eduar Tomas critico correctamente el uso de un model binder y propuso usar un Value Provider, solucion perfecta para mis necesidades&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p align="justify"&gt;El codigo para usar el model Binder o el Value Provider es:&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_3C8911F5.png"&gt;&lt;img height="90" width="514" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_12C59702.png" alt="image" title="image" style="display:inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_465DDD93.png"&gt;&lt;img height="213" width="522" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_34BDCCFB.png" alt="image" title="image" style="display:inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 align="justify"&gt;&lt;span style="text-decoration:underline;"&gt;Solucion definitiva&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;Por la necesidad de migrar mi aplicacion hacia MVC3 me vi en la obligacion de volver a analizar esta solucion y vi que MVC3 ya traer un value provider por lo que la solucion es bastante simple y es la siguiente:&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_6D3805A1.png"&gt;&lt;img height="90" width="491" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_249E16D0.png" alt="image" title="image" style="display:inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_55047579.png"&gt;&lt;img height="301" width="488" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_269AC9FF.png" alt="image" title="image" style="display:inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lo mas importante a destacar de la solucion es la utilizacion del atributo contentType y de que todos los parametros se colocan en un unico objeto JSON y luego son sometidos al JSON.stringify.&lt;/p&gt;
&lt;p&gt;Espero que les resulte util, tambien les dejo adjunta la solucion que utilice para que puedan hacer sus propias comprobaciones.&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" marginwidth="0" frameborder="0" src="https://skydrive.live.com/embedicon.aspx/Codigo%20Publico/Passing%20JSON%20objects.rar?cid=e46b27f9dbbd40a1&amp;amp;sc=documents" marginheight="0" title="Preview" style="background-color:#fcfcfc;width:98px;height:115px;padding:0px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Abrazos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201610" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Internet Explorer o Chrome cambiamos de navegador?</title><link>http://geeks.ms/blogs/eortuno/archive/2011/09/18/internet-explorer-o-chrome-cambiamos-de-navegador.aspx</link><pubDate>Sun, 18 Sep 2011 04:01:04 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:200595</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=200595</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=200595</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/09/18/internet-explorer-o-chrome-cambiamos-de-navegador.aspx#comments</comments><description>&lt;p&gt;Con todas esas nuevas y excitantes noticias sobre Windows 8, VS 11 e IE10 y otras tantas cosas que trajo el BUILD, yo me pregunto Microsoft esta vez nos escuchara a los desarrolladores y a los usuarios en general, sobre las deficiencias que observamos aun en Internet Explorer. Mis amigos al leer este post tambien se sorprenderan y quien sabe quiza esto es una secuela de los 39 grados de temperatura que tuve ayer, unidos a un episodio de delirios concientes &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_57445BB8.png" /&gt;, pero no!!! no solo es eso &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_57445BB8.png" /&gt; es ya varios anios de reiterar los puntos que voy a mencionar y que no han sido escuchados por Microsoft, entonces que mejor momento que ahora antes que salga el tan esperado IE10.&lt;/p&gt;  &lt;h4&gt;Internet Explorer no alcanza muchos sitios y Chrome si. &lt;/h4&gt;  &lt;p&gt;Esto por muy sorprendente que les parezca a algunos lectores de paises desarrollados es totalmente valido en un pais tercer mundista como el mio donde dificilmente internet es comun denominador y donde las velocidades comercializadas no sobrepasan el 1 Mbps (para los simples mortales) Si uno utiliza IE y lamento decirlo, en muchas ocaciones obtiene &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_1F61F1C8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_7C0184FD.png" width="470" height="319" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Mientras que con Chrome por mas velocidad lenta que uno tenga siempre y repito &lt;strong&gt;SIEMPRE&lt;/strong&gt; obtiene la pagina, tal como aqui:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_393213F8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_4E8BB561.png" width="515" height="362" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Podriamos echarle la culpa a mil motivos, provedor local, proveedor de la pagina, velocidad en el momento, hora pico, etc etc etc, los que se imaginen, pero bajo toda circunstancia y durante bastante tiempo que vengo probando Chrome (tenia que hacerlo jajaja) y cada vez veo el mismo comportamiento en diferentes parte IE falla, Chrome no. Por que?&lt;/p&gt;  &lt;p&gt;Parece que el motor de renderizacion de Chrome sigue y sigue intentando recuperar la pagina, cuando el de IE se agota a los primeros intentos. &lt;/p&gt;  &lt;p&gt;Ahora yo me imagino que pasa en paises con altas velocidades de internet? obviamente a todas luces Chrome mantendra mas aun ea ventaja.&lt;/p&gt;  &lt;h4&gt;Hacer addins o plugins para IE es frustrante y no hay muchos.&lt;/h4&gt;  &lt;p&gt;Esta paso a ser mi segunda mayor critica, por que hasta ahora es tan complicado hacer un addin para IE, en comparacion con los miles que hay para Firefox y el creciente numero (asombroso) de Chrome?&lt;/p&gt;  &lt;p&gt;Que tan complicado es generar una buena documentacion, clara, precisa y que guie paso a paso en esta tarea?&lt;/p&gt;  &lt;p&gt;Que tan complicado puede ser crear una API de programacion en C# (perdonen si estoy equivocado, porque hasta ahora no la vi) o bueno minimamente en Javascript?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Las caracteristicas de IE respecto a aprovechamiento de tarjetas graficas, renderizacion, inclusion de HTML5 y CSS3 y otras tantas cosas que se vienen en IE10 adicionalmente, pueden quedar opacadas para usuarios frustrados con la eficacia del navegador y claro luego algunos se preguntan sorprendidos el porque del crecimiento de Chrome.&lt;/p&gt;  &lt;p&gt;No me malinterpreten, no he venido a hacerle propaganda gratuita a Chrome o Firefox, aun soy un fiel usuario de IE y Bing jajaja Pero, si Microsoft sigue sin escuchar a estas voces pronto Internet Explorer podria ser historia, por muy HTML5 o Metro que tenga. IMHO&lt;/p&gt;  &lt;p&gt;La respuesta a la pregunta del titulo de este post es: No, todavia, aun tengo fe que Microsoft escuchara. &lt;/p&gt;  &lt;p&gt;Alo? hay alguien ahi?….. si por favor le pasas la voz a Microsoft? Gracias.&lt;/p&gt;  &lt;p&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=200595" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Herramientas/default.aspx">Herramientas</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/TDD/default.aspx">TDD</category></item><item><title>Explorando NHibernate 3.0 (II)</title><link>http://geeks.ms/blogs/eortuno/archive/2011/08/03/explorando-nhibernate-3-0-ii.aspx</link><pubDate>Thu, 04 Aug 2011 02:22:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:198790</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=198790</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=198790</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/08/03/explorando-nhibernate-3-0-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Practicamente 6 meses despues del primer post de esta serie, me animo a escribir una nueva entrada y es que NHibernate despierta mis &amp;ldquo;amores&amp;rdquo; por lo simple de configurar que es &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_7035E408.png" alt="Smile" class="wlEmoticon wlEmoticon-smile" style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" /&gt;, mas alla del sarcaso, empecemos entonces: Como esta es una serie de entradas relacionadas a NHibernate, aun continuo trabajando sobre el mismo proyecto que tenia anteriormente, con las 2 entidades anteriores y una adicional &amp;ldquo;Course&amp;rdquo; tal cual se muestra en el diagrama siguiente:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_2EBB31AF.png"&gt;&lt;img height="131" width="507" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_1A556C24.png" alt="image" border="0" title="image" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;En esta ocacion planeo explorar las diferentes &lt;span style="text-decoration:line-through;"&gt;desafios&lt;/span&gt; opciones de borrado en cascada que tiene. La idea general es que yo deseo borrar un estudiante y por lo tanto al borrar el estudiante debo borrar sus inscripciones a los diferentes cursos que hay, esto en otras palabras significa eliminar un registro de la tabla Students y muchos registros de la tabla StudentCourse, como es &amp;ldquo;logico&amp;rdquo; no debo borrar en cascada ningun registro de la tabla Courses.&lt;/p&gt;
&lt;h2&gt;Save-Update&lt;/h2&gt;
&lt;p&gt;La primera aproximacion que tome es tener los archivos de mapeo de la siguiente manera:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:54946f78-0668-42a0-bbf3-88be8489ce6a" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:244px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Students&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:164d263f-1eb8-4eba-bf42-16d50bce47a6" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:274px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DateTime&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:cf37cd83-fdae-4277-94a6-536ea86474ee" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:245px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Courses&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; inverse&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Las configuraciones mas importantes en estos archivos de mapeo son:&lt;/p&gt;
&lt;p align="justify"&gt;1. La definicion de cascade=&amp;rdquo;save-update&amp;rdquo; que define que solamente se hara el control del save y de los updates, pero el borrado se lo deja al comportamiento por defecto que tiene NHibernate. Cual es ese comportamiento por defecto? Es colocar o tratar de colocar en NULL todas las llaves foraneas de la tabla StudentCourse, que pertenecen al registro de student que se esta borrando.&lt;/p&gt;
&lt;p align="justify"&gt;2. Otro elemento importante es que no se especifica inverse=&amp;rdquo;true&amp;rdquo; en la relacion one-to-many.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:5450eb1b-f369-4694-a2ed-3b878361c696" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:213px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#000000;"&gt;[TestMethod]
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; DeletingParentChildElements()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;  Execute((context, tx) &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:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;  {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;     var st &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (from s &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; context.Students
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;               select s).FirstOrDefault();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;     Assert.IsNotNull(st);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;     Session.Delete(st);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;     tx.Commit();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;   });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Al ejecutar la prueba unitaria obtenemos el siguiente log de sentencias SQL que NHibernate ejecuto:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:03792cac-21ca-4ac6-9645-75256c05c4e4" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:98px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;TOP&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) student0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, student0_.StudentName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentN2_1_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students student0_;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Int32 (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;UPDATE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;SET&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 812c5ef7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0f1a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f84&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a383&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;002586213d35 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 812c5ef7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0f1a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f84&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a383&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;002586213d35 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Observen lo interesante de esta tecnica, es que se han generado dos sentencias para poder borrar el registro padre y sus dependientes, aunque en realidad no se borraron los registros de la tabla hija, sino que estos quedaron con el valor NULL en su llave foranea, en terminos de NHibernate, estos registros quedaron huerfanos. En la captura de pantalla siguiente se ve solo un registro huerfano, pero les aseguro que hay muchos mas.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_56BDBB01.png"&gt;&lt;img height="222" width="507" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_0C73005C.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;all-delete-orphan&lt;/h2&gt;
&lt;p align="justify"&gt;Como segunda opcion he analizado una forma de no dejar esos registros huerfanos en la base de datos. En los foros y documentacion la configuracion de mapeo recomendada es como sigue:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8ef2fc44-33b4-46a9-8efa-a83f415be9a4" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:238px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Students&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; inverse&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;all-delete-orphan&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ea21a332-45a3-4150-b6f2-f4d75c063373" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:271px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DateTime&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;En el anterior archivo de mapeo los elementos a los que deben prestar atencion son: la definicion de cascade=&amp;rdquo;all-delete-orphan&amp;rdquo; y al elemento que define la llave foranea como not-null=&amp;rdquo;false&amp;rdquo;. El primer elemento borrara los registros huerfanos y el segundo sirve para especificar que la llave foranea permitira valores null.&lt;/p&gt;
&lt;p align="justify"&gt;Lo que se optiene como resultado luego de ejecutar la peticion de borrado, es sorprendentemente lo siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8ff21119-72c8-431f-acf3-3bd73037a25b" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:238px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;TOP&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) student0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, student0_.StudentName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentN2_1_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students student0_;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Int32 (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;SELECT&lt;/span&gt;&lt;span style="color:#000000;"&gt; studentcou0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, studentcou0_.StudentCourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentC1_1_, studentcou0_.StudentCourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentC1_2_0_, studentcou0_.RegistrationDate &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; Registra2_2_0_, studentcou0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId2_0_, studentcou0_.CourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; CourseId2_0_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse studentcou0_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; studentcou0_.StudentId&lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 62b4407e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1025&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ae2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bd60&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0178fcefe0c2 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; afe0f28e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0f68&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4799&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;849b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;018eb3d61780 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 24a8d202&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0fc0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4895&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;92f6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0279715c894b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 81b06673&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;2b99&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;439f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bc92&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0954f1f6a72d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 3a8101c1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;fb86&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4569&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b62f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1a4a5f61e076 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e23ead18&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d36d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;48f0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;91b5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1e0f218a9490 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 55b89be1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d753&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4d13&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9b73&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;2f98e65d94a4 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ad56599b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;afd5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;42c1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;94f2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;36d82186e99c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 8b0010d5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a3ff&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4951&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b908&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;377ac3c8b228 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 50f3306e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a376&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4662&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;85a0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3b4dd021313d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c5c4ad94&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d764&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4fc5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;868f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3e90bc849223 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c2835509&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;49b2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;47ae&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;93f6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3fa2690de749 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; d97f98e8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;17e2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4cb0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9472&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4cd1d18291d4 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 45c7abf5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;fdfd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4085&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;862f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e1221d53cc7 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0cff1150&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;12cf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e7e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8bbd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ff363295506 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 617af7f4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0b4b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4fbc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8f73&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;53bc0d72c0a7 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 4fe5434d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;6ccf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4850&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9ee2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5769812893ee &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 326791ac&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ff46&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4859&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b875&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5bb760597dd6 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; a1fb2063&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b779&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;49d0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b520&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5e8c1379a4bc &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; fe9273dd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c0b7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4c5c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8e0e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;6252bd24ec01 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ce4e980a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d5e5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;45f9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bf48&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;63b30b1cdb2a &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; b50dc1dd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;7280&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;479b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a0d0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;63dd305d27f3 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; cb63acdd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;999f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f89&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9de9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;67d213cbcb91 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c4c84f6b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a1df&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4468&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a5c0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;71e54da6f32e &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; bc9f7bbb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;6197&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4324&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a6e1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;76eaa044b0fd &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 48ccb3c5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;95f2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4efd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9907&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;85a551672dec &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 254cd9ae&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;179d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ab7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9147&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8d2da2fe50de &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 370a76db&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;01e2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e63&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8010&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8fdf232066c0 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;30&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 539d2b31&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ec71&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;474f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;911b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;915e174ad929 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;31&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 5bc0ff81&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1517&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f28&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;91e5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;91e482b6a8e1 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;32&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 037d8dfd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f5a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;437f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;baf9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9fb852fe1af0 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;33&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 60f4a979&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d5e8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4321&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;80ae&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a02db446011b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;34&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 839d4d5d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8c37&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4962&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;87e5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a25f048f4308 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;35&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0f9f6b77&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b181&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;403d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8c8f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a6f2d5da36d1 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;36&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 9d469ea0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b078&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;43d7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8377&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b209c6755305 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;37&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 4ae8090a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d4b0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4022&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bc69&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b66c558c970a &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;38&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; f066dc0b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;12d8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;41bf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;aee9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;be2e571bc80f &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;39&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; a909893f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9395&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4172&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a327&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bf3d3cf91465 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;40&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 592c002f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9ff2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4891&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;98e6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c221a6314884 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;41&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 7349388b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9443&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4388&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8591&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c6bb6740fa8b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;42&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; d6e9da25&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1353&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4266&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8a36&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c6f40833fa5c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;43&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 877123a5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;198b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4889&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;af38&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c81adf0cb9c9 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;44&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e188ff07&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;0022&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;43a5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a132&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d03715ce52d3 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;45&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 315f4dfa&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;41be&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;47a5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8f1a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d9d08af64def &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;46&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; b3c97332&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;3283&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4662&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8e76&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;da4c92a975c8 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;47&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 86e7cfdc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;387e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4111&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9f3b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;dadbb2b72868 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;48&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; cf9618ab&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;6d57&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4daf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;be3a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;dbe69a271853 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;49&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; d6494f0a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;31ed&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4a9c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a200&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ec5883531d6c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;50&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0f7c5562&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0ce6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e56&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bdcb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f28effa44b89 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;51&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ab76283b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d7c2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ad6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a633&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f369bf52a715 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;52&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 1248e956&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3fc0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4cee&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;afc4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f861e8ac5bed &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;53&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 62b4407e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1025&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ae2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bd60&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0178fcefe0c2 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Dije sorprendentemente &lt;span style="background-color:#ffff00;"&gt;lento&lt;/span&gt;, porque primero ha generado una sentencia select para recuperar todos los registros hijos (linea 2: imaginen si fuesen cientos de registros!!!) y luego itera sobre esa lista generando tambien multiples sentencias DELETE para los registros de esa tabla. Realmente ineficiente.&lt;/p&gt;
&lt;p align="justify"&gt;Las malas noticias del uso de all-delete-orphan no terminan ahi, si utilizamos una configuracion de mapeo como la siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:3ed09545-4e5c-4960-a9a0-7b595abcbb77" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:247px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Students&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;all-delete-orphan&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:b91edf98-6eaa-4cb8-96f1-47dd1f0824d2" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:271px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DateTime&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Course&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;CourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;El resultado es el siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ade95fcd-855b-4598-949b-868d655fcf5c" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:271px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;TOP&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) student0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, student0_.StudentName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentN2_1_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students student0_;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Int32 (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;SELECT&lt;/span&gt;&lt;span style="color:#000000;"&gt; studentcou0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, studentcou0_.StudentCourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentC1_1_, studentcou0_.StudentCourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentC1_2_0_, studentcou0_.RegistrationDate &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; Registra2_2_0_, studentcou0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId2_0_, studentcou0_.CourseId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; CourseId2_0_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse studentcou0_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; studentcou0_.StudentId&lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 3df163e6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9e0c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ea4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bbab&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;024d8a826478 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;UPDATE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;SET&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 3df163e6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9e0c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ea4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bbab&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;024d8a826478 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ed22628f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;70fb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;49da&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8e9d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;017cb8804153 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 823132a9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;81dd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4d15&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8bc5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;0560002b616b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; df8a6f0d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;e437&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4033&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;adfe&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1226b7e6ccc5 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e4e217f2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;6035&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;49b7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;93ed&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1625a33bebf2 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ff4367c5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;e113&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;408d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;afe5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;17cde78b098d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;76939286&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;24cb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;446c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;95a7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;19c12c1cacc7 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 406e5eab&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3ee3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4425&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9d41&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1c435916cab7 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 943ebddb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;6ceb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f53&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a0a3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;2df9514578ee &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 48a95446&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1b72&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e1a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;aaca&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;311b74788f22 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; d5f4b24a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ac78&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4538&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;aed1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3c48c41267ef &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 4005baf4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;fed6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4a6b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8970&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;3ec1cd8b6e6b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; bf5a3bec&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4870&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4765&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a2c0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;42f01ac649d9 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c3a18b48&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;62bc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4aae&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;86fa&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;486f041271c2 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 87ebe587&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f0bc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ea4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;84b0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;48db75689bc9 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 90cf3e31&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;689e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;45a8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a28e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ba673dfd411 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 0e9ca64c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b451&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4113&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a445&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4c6c060fe0f4 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 168b732b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;de67&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4a6c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9261&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5318dae239ae &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; dc2263c8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;44d3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4aa0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9c7e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;58d1e13f7764 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; b055aa2e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d8c2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4b9d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9c73&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;58f1aff63e3a &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;20283918&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;7c19&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;48e4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;acd1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5d7c680df30a &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 4d62c9e8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;e36e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4c6c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;85ed&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;60dac8218b34 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; fec90de0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c22a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4cf1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b47c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;63e55b0b34b4 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 59a946c9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;6a99&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f82&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bdc0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;64202a9c2eb3 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 13c240f1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9808&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;47cf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ba10&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;653fb444991d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 34c13a9d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;0394&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4984&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;85e7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;66e2ee9f8f55 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 59ac31ed&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;2636&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;49b4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a5e1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;69f636f5dffa &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;30&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; f44d99fb&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;3548&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4bff&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9df7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;70c8dddccf9e &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;31&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; b651ee73&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b30b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4e0e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a86b&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;76d8158f408c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;32&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c8ac848a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;2a1a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4155&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9b83&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;7ba18ed0ab40 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;33&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; a8a62220&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;e5d2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;44f0&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b7cd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;7cbc54de1638 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;34&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 4604521f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;484f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4bcc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bc75&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;80c27070e3e4 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;35&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 179b5622&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;66b1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4bf3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bbe6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;820f682aad87 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;36&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; a76f36d2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9d5f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;48f5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b9f4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8c1cdf05da7c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;37&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; db4600e1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;3782&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4986&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8548&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;99e53fad2e7d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;38&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; e7e99834&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;5f65&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f85&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;9302&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a4695ef45141 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;39&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 28b13fe5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1daf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;448c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;80f6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a6d8de81eedd &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;40&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ad44e417&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;af7c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4db8&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9d65&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a884b494e0c0 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;41&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 90815e58&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8d09&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;43df&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bee7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;af0c484b4a9b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;42&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 03c92453&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;75f7&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;455e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;8c7f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ba043c6e4960 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;43&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; db405dcc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;33d6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;457f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b534&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c1128a6f1646 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;44&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ebf07a1c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;1de3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4b4c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a231&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c2e8a59b0a7d &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;45&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 19ade8a2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;132e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;42fa&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a9e3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;c513950ffd11 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;46&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; fb0eb4d3&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;aacd&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;457e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9c6c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;cf09aadbf814 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;47&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; adcb700e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a3a9&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4126&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a2f2&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;d742559a1c4b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;48&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 57c21829&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;56bc&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;474a&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;80d5&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;e359d4f02a62 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;49&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c1960cce&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;931e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4969&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;924e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ec295d1da75b &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;50&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; b17205cf&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f08f&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4601&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;97fa&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ee851e0d8ae9 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;51&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; eab5b833&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a03d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f72&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;a75e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;eeb29fe7ae3c &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;52&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; c362251d&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;ce69&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4f2e&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;b716&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;f6c6a33f7ac0 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;53&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourseId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 9e7e6b92&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;3115&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4312&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bbe1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;fbac3b2c2574 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;54&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 3df163e6&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;9e0c&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;4ea4&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;bbab&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;024d8a826478 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Lo unico diferente en estos mapeos es la definicion del inverse =&amp;quot;true&amp;quot;, lo cual ha generado una sentencia UPDATE adicional que se observa en la linea 3. Ahora esto me hace pensar cuantas personas tendran un mapeo que funciona, borra, pero lo hace cada vez de manera ineficiente?. Con razon mi carino especial a NHibernate.&lt;/p&gt;
&lt;h2&gt;On Delete = &amp;ldquo;Cascade&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Finalmente la opcion que yo recomiendo utilizar, aunque cabe decir que en algunos foros no la aconsejan, es utilizar las caracteristicas de borrado en cascada de la base de datos. Esta opcion consiste en definir los archivos de mapeo como siguen:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:6926a04f-4398-4546-bfc1-3e7d9adc225f" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:233px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Students&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; inverse&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; not-null&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; on-delete&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;cascade&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;En este archivo el punto mas importante es la definicion de on-delete=&amp;rdquo;cascade&amp;rdquo; y la especificacion de la relacion inversa con inverse=&amp;rdquo;true&amp;rdquo;, si esto ultimo no se coloca, al momento de utilizar la coleccion saldra una excepcion indicando que es necesario especificar este atributo.&lt;/p&gt;
&lt;p align="justify"&gt;A continuacion el resultado de la ejecucion de la peticion de borrado, en esta ocacion como se puede apreciar solo se tiene dos sentencias SQL generadas por NHibernate, una para recuperar el primer registro de la tabla estudiantes y la segunda sentencia para realizar el borrado fisico, no existe ninguna otra sentencia adicional y luego de que se produce el borrado no han quedado registros huerfanos.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8590c531-0a65-4d26-9cf2-2ad40c9c06b9" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:69px;background-color:silver;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;select&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;TOP&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) student0_.StudentId &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId1_, student0_.StudentName &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentN2_1_ &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;from&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students student0_;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Int32 (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;NHibernate: &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;DELETE&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;FROM&lt;/span&gt;&lt;span style="color:#000000;"&gt; Students &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;WHERE&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentId &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#008000;"&gt;@p0&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; 51aa39c1&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;3929&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;4970&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;8401&lt;/span&gt;&lt;span style="color:#808080;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt;00e4cc1e20a6 &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;[&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;Type: Guid (0)&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Es necesario advertir que los temas de rendimiento (performance) al momento de borrar son tema de otro articulo, pero probablemente la opcion mas recomendable sigue siendo la tercera opcion, al menos por que no genera sentencias SQL explicitas y confia en la definicion de la base de datos.&lt;/p&gt;
&lt;p align="justify"&gt;Espero que estos &amp;ldquo;hallazgos&amp;rdquo; les sea de utilidad.&lt;/p&gt;
&lt;p align="justify"&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=198790" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/NHibernate/default.aspx">NHibernate</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Archivos de mi presentacion de MVC3 Razor</title><link>http://geeks.ms/blogs/eortuno/archive/2011/07/31/archivos-de-mi-presentacion-de-mvc3-razor.aspx</link><pubDate>Mon, 01 Aug 2011 02:42:06 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:198619</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=198619</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=198619</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/07/31/archivos-de-mi-presentacion-de-mvc3-razor.aspx#comments</comments><description>&lt;p&gt;Estimados amigos&lt;/p&gt;  &lt;p&gt;Aqui comparto con Uds. las diapositivas y el codigo fuente de mi charla sobre ASP.NET Razor, que di el anterior Jueves 28 de Julio, en la Comunidad de Usuarios de Tecnologias Microsoft (&lt;a href="http://cutmsc.com/" target="_blank"&gt;CUTM&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Espero que le sea util.&lt;/p&gt;  &lt;p&gt;&lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="https://skydrive.live.com/embedicon.aspx/Presentaciones/CUTM%20MVC3%20Razor?cid=e46b27f9dbbd40a1&amp;amp;sc=documents" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;Saludos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=198619" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Como acelerar la construccion del NHibernate SessionFactory</title><link>http://geeks.ms/blogs/eortuno/archive/2011/07/23/como-acelerar-la-construccion-del-nhibernate-sessionfactory.aspx</link><pubDate>Sat, 23 Jul 2011 03:41:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:198234</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=198234</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=198234</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/07/23/como-acelerar-la-construccion-del-nhibernate-sessionfactory.aspx#comments</comments><description>&lt;p align="justify"&gt;Hola, voy a cubrirme un poco antes de que entren a leer completamente el articulo, lo que se logra con la tecnica que mostrare puede estar demas si utilizan algo como NHFluent o ConfORM.&lt;/p&gt;
&lt;p align="justify"&gt;Bueno, empecemos. &lt;/p&gt;
&lt;p align="justify"&gt;La idea de este articulo nace a raiz de un problema que tuve por los tiempos de carga de una aplicacion web construida con NHibernate 2.0, esta aplicacion tiene un conjunto considerable de entidades y fue disenada usando los clasicos archivos de mapeo (.hbm.xml). En este sentido antes de que la aplicacion entrase en su primer ciclo de produccion, percibimos que existian tiempos de carga demasiado elevados la primera vez que se navegaba en ella. Luego de examinar las posibles causas identifique que el mayor responsible era la construccion de SessionFactory y bueno era bastante comprensible por la cantidad de entidades que tenemos y leyendo los articulos que adjunto se puede ver que existe la misma preocupacion en varios lugares:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;a href="http://devlicio.us/blogs/tuna_toksoz/archive/2009/03/14/an-improvement-on-sessionfactory-initialization.aspx"&gt;http://devlicio.us/blogs/tuna_toksoz/archive/2009/03/14/an-improvement-on-sessionfactory-initialization.aspx&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;a href="http://ayende.com/blog/2903/real-world-nhibernate-reducing-startup-times-for-large-amount-of-entities"&gt;http://ayende.com/blog/2903/real-world-nhibernate-reducing-startup-times-for-large-amount-of-entities&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;Me pregunto, sera esta una de las razones de la rapida adopcion de NHFluent? Creo que si.&lt;/p&gt;
&lt;p align="justify"&gt;En cualquier caso, continuando y resumiendo lo que encontraran en los articulos adjuntos, las soluciones que se plantean son:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Crear un unico mega archivo de mapeo.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Serializar y Deserializar la configuracion.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Utilizar la configuracion de manera compilada, el caso de NHFluent o Loquacious o ConfORM.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p align="justify"&gt;El utilizar NHFluent no es desafiante a excepcion quiza de aprender una serie de convenciones para mapear por codigo, ahora hasta Entity Framework tiene cosas similares como Code-First. Pero la verdad aun no me nace ni las ganas ni el tiempo para convertir todos mis archivos .hbm.xml a codigo C#, prometo que lo hare y seguramente hare un post al menos para comentar que tal la construccion del SessionFactory, pero por ahora tengo que trabajar con lo que tengo.&lt;/p&gt;
&lt;p align="justify"&gt;He probado el tema de Serializar y Deserializar la configuracion pero mi mayor &amp;ldquo;pero&amp;rdquo; a esta tecnica es la escritura/lectura de disco en aplicaciones web, como entenderan en un entorno donde no se controla el hosting (comun en esta aplicacion) existen proveedores que no permiten la escritura directa a disco, entonces eso me desanimo practicamente de entrada.&lt;/p&gt;
&lt;p align="justify"&gt;La opcion que me quedaba y con la que me fue muy bien fue la de combinar (hacer un merge) de todos los archivos de mapeo. Pero se imaginaran que el hacerlo manualmente no suena optimo y mucho menos entretenido.&lt;/p&gt;
&lt;p align="justify"&gt;Aqui surge la solucion que se me ocurrio. Por que no hacer una plantilla T4 que haga la combinacion/merge por mi? y bueno aqui tienen el codigo de la misma.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:bdb0d239-4f3c-4c87-a95d-087203a3d58a" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="background-color:silver;width:531px;height:443px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;  1&lt;/span&gt; &lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ template language&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;C#v3.5&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; debug&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;false&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; hostspecific&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;true&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; language&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;C#&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ output extension&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;.hbm.xml&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  3&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ assembly name&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System.Core.dll&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  4&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ import &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  5&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ import &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System.IO&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  6&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ import &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System.Linq&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  7&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ import &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System.Collections.Generic&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  8&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#@ import &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;System.Text.RegularExpressions&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; #&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:#008080;"&gt;  9&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#000000;"&gt;xml version&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;1.0&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; encoding&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;utf-8&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &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:#008080;"&gt; 10&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    var structure&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetMappingStructure();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 12&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    WriteLine(structure.StartTag);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 14&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(var c &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; structure.MappingContent)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 15&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 16&lt;/span&gt; &lt;span style="color:#000000;"&gt;        WriteLine(c.ClassContent);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 17&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 18&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(var c &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; structure.MappingContent)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 19&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 20&lt;/span&gt; &lt;span style="color:#000000;"&gt;        WriteLine(c.OqlContent);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 21&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 22&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt;(var c &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; structure.MappingContent)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 23&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 24&lt;/span&gt; &lt;span style="color:#000000;"&gt;        WriteLine(c.SqlContent);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 25&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 26&lt;/span&gt; &lt;span style="color:#000000;"&gt;    WriteLine(structure.EndTag);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 27&lt;/span&gt; &lt;span style="color:#000000;"&gt;#&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:#008080;"&gt; 28&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 29&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;#&lt;/span&gt;&lt;span style="color:#000000;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 30&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingStructure GetMappingStructure()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 31&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 32&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var structure&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingStructure();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 33&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;[] filePaths &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; Directory.GetFiles(Host.ResolvePath(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;),&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;*.hbm.xml&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;, SearchOption.AllDirectories); 
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 34&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var files &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; from fp &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; filePaths
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 35&lt;/span&gt; &lt;span style="color:#000000;"&gt;                &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;where&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;fp.Contains(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Unique.hbm.xml&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 36&lt;/span&gt; &lt;span style="color:#000000;"&gt;                select fp;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 37&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var i&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 38&lt;/span&gt; &lt;span style="color:#000000;"&gt;        structure.MappingContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; List&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;MappingContent&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:#008080;"&gt; 39&lt;/span&gt; &lt;span style="color:#000000;"&gt;        structure.EndTag&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;/hibernate-mapping&amp;gt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 40&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (var f &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; files)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 41&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 42&lt;/span&gt; &lt;span style="color:#000000;"&gt;            var content&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetFileContent(f);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 43&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (i&lt;/span&gt;&lt;span style="color:#000000;"&gt;==&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;) 
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 44&lt;/span&gt; &lt;span style="color:#000000;"&gt;                structure.StartTag &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetMappingContent(content,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;open&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 45&lt;/span&gt; &lt;span style="color:#000000;"&gt;            var inside&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetMappingContent(content,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;cnt&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 46&lt;/span&gt; &lt;span style="color:#000000;"&gt;            var mapContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingContent();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 47&lt;/span&gt; &lt;span style="color:#000000;"&gt;            mapContent.ClassContent &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetClassContent(inside);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 48&lt;/span&gt; &lt;span style="color:#000000;"&gt;            mapContent.OqlContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetOqlContent(inside);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 49&lt;/span&gt; &lt;span style="color:#000000;"&gt;            mapContent.SqlContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;GetSqlContent(inside);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 50&lt;/span&gt; &lt;span style="color:#000000;"&gt;            structure.MappingContent.Add(mapContent);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 51&lt;/span&gt; &lt;span style="color:#000000;"&gt;            i&lt;/span&gt;&lt;span style="color:#000000;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 52&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 53&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; structure;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 54&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 55&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 56&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetFileContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; fileName)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 57&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 58&lt;/span&gt; &lt;span style="color:#000000;"&gt;        StreamReader streamReader &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; StreamReader(fileName);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 59&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; text &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; streamReader.ReadToEnd();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 60&lt;/span&gt; &lt;span style="color:#000000;"&gt;        streamReader.Close();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 61&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; text;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 62&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 63&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 64&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetMappingContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; fullContent, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; groupName)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 65&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 66&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetContent(fullContent, groupName,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;(?&amp;lt;open&amp;gt;&amp;lt;hibernate-mapping.[^&amp;lt;&amp;gt;]*&amp;gt;)(?&amp;lt;cnt&amp;gt;.*)(?&amp;lt;close&amp;gt;&amp;lt;/hibernate-mapping&amp;gt;)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 67&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 68&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 69&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; content, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; groupName, &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; pattern)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 70&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 71&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; resultString &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 72&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;try&lt;/span&gt;&lt;span style="color:#000000;"&gt; {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 73&lt;/span&gt; &lt;span style="color:#000000;"&gt;            resultString &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; Regex.Match(content, pattern, RegexOptions.Singleline &lt;/span&gt;&lt;span style="color:#000000;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; RegexOptions.IgnoreCase &lt;/span&gt;&lt;span style="color:#000000;"&gt;|&lt;/span&gt;&lt;span style="color:#000000;"&gt; RegexOptions.Multiline).Groups[groupName].Value;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 74&lt;/span&gt; &lt;span style="color:#000000;"&gt;        } &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;catch&lt;/span&gt;&lt;span style="color:#000000;"&gt; (ArgumentException ex) {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 75&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Bad practice but for this sample...&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 76&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 77&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; resultString;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 78&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 79&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 80&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetClassContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; content)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 81&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 82&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetContent(content, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;classes&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;(?&amp;lt;classes&amp;gt;&amp;lt;class.*&amp;lt;/class&amp;gt;)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 83&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 84&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 85&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetOqlContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; content)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 86&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 87&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetContent(content, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;oqls&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;(?&amp;lt;oqls&amp;gt;&amp;lt;query.*&amp;lt;/query&amp;gt;)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 88&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 89&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 90&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetSqlContent(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; content)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 91&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 92&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetContent(content, &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;sqls&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;(?&amp;lt;sqls&amp;gt;&amp;lt;sql-query.*&amp;lt;/sql-query&amp;gt;)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 93&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 94&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 95&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingContent
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 96&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 97&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; ClassContent{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 98&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; OqlContent{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 99&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; SqlContent{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;100&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;101&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;102&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingStructure
&lt;/span&gt;&lt;span style="color:#008080;"&gt;103&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;104&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; StartTag{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;105&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; EndTag{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;106&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; List&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;MappingContent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; MappingContent{&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;107&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;108&lt;/span&gt; &lt;span style="color:#000000;"&gt;#&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:#008080;"&gt;109&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Las condiciones y/o consideraciones que deben seguir/tener presente para usar esta plantilla son: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;La plantilla combinara todos los archivos .hbm.xml que esten en la carpeta del proyecto, no importara si estos archivos NO estan en incluidos en el proyecto, asi que cuidado, que en algun caso se me olvido borrar un archivo antiguo y me toco generar un archivo de mapeo inconsistente con el modelo.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Las entidades deben encontrarse bajo un unico y mismo namespace, uffa que huevada diran y bueno tendria que pagarse algo por esto o no? Como la plantilla T4 toma cabecera del primer archivo .hbm.xml que encuentre, se esta asumiendo que todos comparten la misma estructura, repito estan bajo el mismo namespace y el mismo ensamblado. En algun momento hare una plantilla para generar varios archivos dependiendo de la cabecera de los archivos de mapeo.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Como sabemos, los archivos hbm.xml debe ser incluidos en el proyecto como recurso embebido, pero como en este caso tendremos un unico archivo, todos a excepcion del archivo Unique.hbm.xml deben ser removidos de esta caracteristica. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_0F81D7D1.png"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_1D90A101.png" alt="image" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" border="0" height="212" width="485" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finalmente el template se ejecutara a peticion (Run Custom Tool), aun no necesito que se ejecute antes del proceso de compilacion. Bueno la idea de esto es que no tenga que estar ejecutando algun comando para que el mega-archivo de mapeo se genere, lo ideal seria que este archivo se genere cada vez que se modifica alguno de los otros archivos de mapeo o al menos cuando se solicita compilar el proyecto. Como dije no lo averigue aun, pero si alguien gentilmente quiere pasarme la informacion, bienvenida. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_12C323DF.png"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_6174397E.png" alt="image" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" border="0" height="134" width="479" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Esperando que esto le sirva a alguno de uds, seguramente me servira a mi en mi futura charla sobre NHibernate &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_616413B1.png" alt="Smile" class="wlEmoticon wlEmoticon-smile" style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" /&gt;, me despido cordialmente.&lt;/p&gt;
&lt;p&gt;Descargar el codigo:&lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" src="https://skydrive.live.com/embedicon.aspx/Codigo%20Publico/Template%20T4%20Unique.hbm.xml.rar?cid=e46b27f9dbbd40a1&amp;amp;sc=documents" marginheight="0" title="Preview" style="background-color:#fcfcfc;width:98px;height:115px;padding:0px;" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=198234" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/NHibernate/default.aspx">NHibernate</category></item><item><title>Pruebas con multiples hilos.</title><link>http://geeks.ms/blogs/eortuno/archive/2011/07/13/pruebas-con-multiples-hilos.aspx</link><pubDate>Wed, 13 Jul 2011 04:48:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:197682</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=197682</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=197682</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/07/13/pruebas-con-multiples-hilos.aspx#comments</comments><description>&lt;p align="justify"&gt;La necesidad de realizar pruebas de concurrencia sobre un componente/servicio de mi aplicaci&amp;oacute;n, me hicieron ver la necesidad de buscar una forma de lanzar m&amp;uacute;ltiples hilos que realicen las peticiones que deseaba. S&amp;eacute; que varios o muchos de Uds. ya conocen esto, pero lo que escribo a continuaci&amp;oacute;n es m&amp;aacute;s para aquellos que est&amp;aacute;n aprendiendo.&lt;/p&gt;
&lt;p align="justify"&gt;El c&amp;oacute;digo b&amp;aacute;sico que encontr&amp;eacute; en Internet es el siguiente:&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:33d63cb4-a337-40ef-91ae-3659b9737bc3" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:199px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (Thread thread &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    thread &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Thread(DoSomeWork());
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;} 
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (Thread thread &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    thread.Start();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;} 
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (Thread thread &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    thread.Join();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Este c&amp;oacute;digo lo tome de una entrada de stackoverflow, y tiene dos cosas importantes: Una es la l&amp;iacute;nea 11 que permite esperar a que todos los hilos terminen su operaci&amp;oacute;n y el otro punto es que tiene un error, la l&amp;iacute;nea 3 dar&amp;aacute; un error porque se est&amp;aacute; tratando de modificar un objeto read-only, al menos eso es lo que yo obtuve. Ante todo esto me permito presentarles una versi&amp;oacute;n ligeramente modificada, que actualmente estoy utilizando:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ba714449-1001-45d5-aca4-af3524236649" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:199px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; MultiThreadedTest(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; count)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    Thread[] threads &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Thread[count];
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;for&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; i &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;; i &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads.Count(); i&lt;/span&gt;&lt;span style="color:#000000;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var j &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; i;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;        ThreadStart starter &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt; { DoSomeWork(j); };
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        threads[i] &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Thread(starter);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (Thread thread &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;        thread.Start();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    } 
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;"&gt; (Thread thread &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; threads)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;        thread.Join();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;He encerrado toda la funcionalidad en un m&amp;eacute;todo, he reemplazado el bloque foreach por un for simple, que me permite evitar el problema del read-only. En las l&amp;iacute;neas 7 y 8 estoy inicializando los hilos parametrizados con el valor num&amp;eacute;rico, hay varias formas de hacer esto pero la que les presento en el ejemplo es la que yo escog&amp;iacute;. Luego hay una l&amp;iacute;nea que parecer&amp;iacute;a sin sentido, es la linea 6, esta l&amp;iacute;nea evita el problema del acceso a un closure modificado (&amp;ldquo;Access to modified closure&amp;rdquo;), por cierto esta advertencia me la da Resharper. Que significa esto?, pues si no se coloca esa l&amp;iacute;nea el valor que se pase al m&amp;eacute;todo DoSomeWork siempre ser&amp;aacute; el ultimo valor del bucle. Ya tuve malas experiencias con las expresiones lambda y estas advertencias, as&amp;iacute; que para evitarme problemas&amp;hellip; que me cuesta agregar una l&amp;iacute;nea!!!?&lt;/p&gt;
&lt;p align="justify"&gt;Finalmente el m&amp;eacute;todo DoSomeWork, que es el que realizara el acceso a mi servicio en &amp;uacute;ltima instancia.&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:c6ec9621-e4a0-4cb1-8ea2-47de7704960e" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="width:531px;height:69px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;static&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; DoSomeWork(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; number)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;.....&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Espero que le sea de utilidad a alguien que este realizando pruebas con multiples hilos.&lt;/p&gt;
&lt;p align="justify"&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=197682" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Gracias por el apoyo … he aqui mi premio.</title><link>http://geeks.ms/blogs/eortuno/archive/2011/06/29/gracias-por-el-apoyo-he-aqui-mi-premio.aspx</link><pubDate>Wed, 29 Jun 2011 04:29:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:196824</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=196824</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=196824</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/06/29/gracias-por-el-apoyo-he-aqui-mi-premio.aspx#comments</comments><description>&lt;p align="justify"&gt;Primeramente expresar mi mas sincera gratitud a todos y cada uno de los miembros de esta comunidad que me apoyaron viendo &lt;a target="_blank" href="http://geeks.ms/blogs/eortuno/archive/2011/03/09/programacion-funcional-amp-linq.aspx"&gt;el video que publique en el concurso &amp;ldquo;Evidencias&amp;rdquo; de Microsoft&lt;/a&gt;, como lo mencione en &lt;a target="_blank" href="http://twitter.com/#!/tecnox"&gt;mi cuenta de twitter&lt;/a&gt; fui el ganador de dicho concurso y queria compartir con Uds. mi alegria y algunas fotografias del premio que obtuve.&lt;/p&gt;
&lt;table width="400" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011925_5F00_3573C1F9.jpg"&gt;&lt;img height="290" width="218" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011925_5F00_thumb_5F00_2714FD6F.jpg" alt="26062011925" border="0" title="26062011925" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="200" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011926_5F00_25C03EC3.jpg"&gt;&lt;img height="218" width="290" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011926_5F00_thumb_5F00_0C37EFEF.jpg" alt="26062011926" border="0" title="26062011926" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011928_5F00_7BDC7835.jpg"&gt;&lt;img height="221" width="293" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011928_5F00_thumb_5F00_1BA78999.jpg" alt="26062011928" border="0" title="26062011928" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="200" valign="top"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011933_5F00_06D59119.jpg"&gt;&lt;img height="215" width="285" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/26062011933_5F00_thumb_5F00_76C600BA.jpg" alt="26062011933" border="0" title="26062011933" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p align="justify"&gt;Si bien el premio fue fisico y no esta nada mal, tambien gane muchos amigos que de todas partes del globo se pusieron en contacto conmigo y tambien me abrio puertas &amp;ldquo;magicamente&amp;rdquo; para ser invitado como orador en algunos eventos online, en suma fue una experiencia unica. Para las personas que creen que los concursos de Microsoft y sus premios son una falacia o que quiza no tienen una oportunidad de ganar, animo!!!! si yo pude ganar Uds. tambien pueden.&lt;/p&gt;
&lt;p align="justify"&gt;Muchas gracias nuevamente.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=196824" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Opiniones/default.aspx">Opiniones</category></item><item><title>Codigo fuente de mi presentacion</title><link>http://geeks.ms/blogs/eortuno/archive/2011/05/01/codigo-fuente-de-mi-presentacion.aspx</link><pubDate>Sun, 01 May 2011 07:00:12 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:193348</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=193348</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=193348</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/05/01/codigo-fuente-de-mi-presentacion.aspx#comments</comments><description>&lt;p&gt;En esta ocacion deseo compartir con Uds. el codigo fuente de la presentacion con la que estoy participando en el concurso/iniciativa de Microsoft, llamado evidencias.&lt;/p&gt;  &lt;p&gt;Aqui esta el video:&lt;/p&gt; &lt;iframe height="349" src="http://www.youtube.com/embed/M1mEW07m3B0" frameborder="0" width="560"&gt;&lt;/iframe&gt;  &lt;p&gt;Aqui el codigo fuente:&lt;/p&gt; &lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="http://cid-e46b27f9dbbd40a1.office.live.com/embedicon.aspx/Archivos%20Publicos/Source%20Code%20Evidencia%20Linq.rar" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Aqui el video en formato mp4:&lt;/p&gt; &lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="http://cid-e46b27f9dbbd40a1.office.live.com/embedicon.aspx/Archivos%20Publicos/Evidencias-Video.rar" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Espero que les sea de utilidad y si les gusta el material, por favor difundanlon entre sus conocidos, se los agradeceria un monton.&lt;/p&gt;  &lt;p&gt;Un abrazo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=193348" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>Como llamar a un Action Method MVC desde Silverlight</title><link>http://geeks.ms/blogs/eortuno/archive/2011/04/14/como-llamar-a-un-action-method-mvc-desde-silverlight.aspx</link><pubDate>Thu, 14 Apr 2011 03:14:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:192303</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=192303</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=192303</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/04/14/como-llamar-a-un-action-method-mvc-desde-silverlight.aspx#comments</comments><description>&lt;p&gt;Trabajando en un proyecto que integra Silverlight y ASP.NET MVC, tuve la necesidad de hacer algo &amp;ldquo;extrano&amp;rdquo;, bueno quiza extrano para algunos. Necesite recuperar informacion que esta disponible en el contexto de MVC desde Silverlight, lo pongamos simple: Necesite llamar a un metodo, en este caso un ActionController desde el codigo de Silverlight.&lt;/p&gt;
&lt;p&gt;En internet pueden encontrar muchos ejemplos, pero la gran mayoria son para realizar llamdas GET y considerando que quiero darle un poquitin mas de seguridad, pue mi requerimiento es solo permitir invocaciones POST&amp;hellip;. y que dijeron? pues no hay muchos ejemplos clarificadores, entonces aqui va el mio.&lt;/p&gt;
&lt;p&gt;A continuacion el ActionMethod que quiero invocar dese Silverlight:&lt;/p&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:0c524c5f-9af6-4efe-b391-427e3ef57467" class="wlWriterEditableSmartContent"&gt;
&lt;pre style="width:531px;height:136px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;[AcceptVerbs(HttpVerbs.Post)]
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; ActionResult GetContextInformation()
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Json(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; ServiceConfiguration()
&lt;/span&gt;&lt;span style="color:#008080;"&gt;5&lt;/span&gt; &lt;span style="color:#000000;"&gt;                        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            FullName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UnknowData&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;7&lt;/span&gt; &lt;span style="color:#000000;"&gt;                        });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;8&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;La clase ServiceConfiguration, puede ser tan simple como la que se muestra a continuacion o tan compleja como deseemos. Esta clase es serializada a JSON para poder enviarla hacia Silverlight.&lt;/p&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:dc7cd7b7-3e30-4302-a6d6-5a6b34cd941d" class="wlWriterEditableSmartContent"&gt;
&lt;pre style="width:531px;height:67px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; ServiceConfiguration
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; FullName { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;; }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;He aqui el codigo de Silverlight, para la invocacion del anterior ActionMethod:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:3dbc5ad0-8516-4e7a-9b7d-2cd29703ff2d" class="wlWriterEditableSmartContent"&gt;
&lt;pre style="width:531px;height:430px;background-color:white;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; GetWithWebRequest(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; url)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    var r &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; HttpWebRequest.Create(url) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; HttpWebRequest;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    r.Method &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;POST&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;    r.Accept &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;application/json&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    r.BeginGetResponse(ReturnContext, r);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; ReturnContext(IAsyncResult ar)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    var request &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; ar.AsyncState &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; HttpWebRequest;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (request &lt;/span&gt;&lt;span style="color:#000000;"&gt;!=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var response &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; request.EndGetResponse(ar);
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;        var jsonSerializer &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; DataContractJsonSerializer(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;typeof&lt;/span&gt;&lt;span style="color:#000000;"&gt;(ServiceConfiguration));
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &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; (var stream &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; response.GetResponseStream())
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;            ServiceConfiguration ContextConfiguration &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; jsonSerializer.ReadObject(stream) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; ServiceConfiguration;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;this.Dispatcher.BeginInvoke(() =&amp;gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#008000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;   PostRetrieved(Post));&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;if (OnInitializeServices != null)
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#008000;"&gt;    &lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt;    OnInitializeServices(this, EventArgs.Empty);&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#008000;"&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
Aunque Resharper me sugiere reemplazar la invocacion de HttpWebRequest por una clase mas especifica como WebRequest, pues esta vez no le hago caso. Tambien observaran unos trozos de codigo comentado en el AsyncCallBack,, bueno estos los dejo para una explicacion futura. En este ejemplo no estoy pasando parametros al ActionMethod, pero podran encontrar bastante informacion de como hacerlo en Internet. El codigo es perfectamente compatible y usable con Windows Phone 7.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Espero que les sea util.&lt;/p&gt;
&lt;p&gt;Un abrazo&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;&lt;iframe title="YouTube video player" src="http://www.youtube.com/embed/M1mEW07m3B0" frameborder="0" height="390" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=192303" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/MVC/default.aspx">MVC</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/TDD/default.aspx">TDD</category></item><item><title>CodeKata del Anagrama</title><link>http://geeks.ms/blogs/eortuno/archive/2011/04/10/codekata-del-anagrama.aspx</link><pubDate>Mon, 11 Apr 2011 02:55:43 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:192084</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=192084</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=192084</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/04/10/codekata-del-anagrama.aspx#comments</comments><description>&lt;p&gt;En busqueda de la diversion y el aprendizaje me puse a realizar un CodeKata muy breve, que consiste en encontrar todos los anagramas de una palabra dada, los anagramas no son otra cosa que una permutacion de todos los caracteres de dicha palabra, por ejemplo si tenemos “abc”, los anagramas seran: abc, acb, bac, bca, cab, cba&lt;/p&gt;  &lt;p&gt;A continuacion el codigo del metodo, es bastante simple, podria haberlo reducido un poco mas, pero en aras de la legibilidad y de que se pueda entender lo dejamos asi:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:a94a99d3-3b9c-47b3-b397-71c228010535" class="wlWriterEditableSmartContent"&gt;&lt;img style="border:0;width:531px;height:345px;" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/transformedimage_5F00_0516836F.png" alt="" /&gt;&lt;/div&gt;  &lt;p&gt;Como varios de los CodeKata tienen el proposito de incentivar la practica de TDD, aqui algunas pruebas unitarias que hice:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:56e8a032-1127-4cf9-a661-00c79e3870ff" class="wlWriterEditableSmartContent"&gt;&lt;img style="border:0;width:531px;height:345px;" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/transformedimage_5F00_6C92F7EC.png" alt="" /&gt;&lt;/div&gt;  &lt;p&gt;Para los interesados aqui el codigo fuente del proyecto y las pruebas, las pruebas contienen los casos que mas vinieron a mi mente, sabed disculparme si cometo algun error &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_69C92EFA.png" /&gt;&lt;/p&gt; &lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="http://cid-e46b27f9dbbd40a1.office.live.com/embedicon.aspx/Archivos%20Publicos/AnagramKata.rar" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;P.D. El enlace al video que les comente hace algunas semanas.   &lt;br /&gt;&lt;iframe title="YouTube video player" height="390" src="http://www.youtube.com/embed/M1mEW07m3B0" frameborder="0" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=192084" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/TDD/default.aspx">TDD</category></item><item><title>Resultados sobre la Comida y Bebida favorita de un Desarrollador</title><link>http://geeks.ms/blogs/eortuno/archive/2011/03/17/resultados-sobre-la-comida-y-bebida-favorita-de-un-desarrollador.aspx</link><pubDate>Fri, 18 Mar 2011 03:48:53 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:190613</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=190613</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=190613</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/03/17/resultados-sobre-la-comida-y-bebida-favorita-de-un-desarrollador.aspx#comments</comments><description>&lt;p&gt;Aqui les dejo los resultados a una &lt;a href="http://geeks.ms/blogs/eortuno/archive/2011/02/10/comidas-y-bebidas-favoritas-de-un-desarrollador.aspx" target="_blank"&gt;encuesta que realice hace algunos dias&lt;/a&gt;, sobre la comida y bebida favorita de un desarrollador, luego de haber alcanzado 100 participantes. La encuesta sigue abierta y bueno seguramente podran hacer variar los resultados, pero si todo va bien a fin de anio mostrare el resultado hasta esa fecha y con la cantidad total de participantes hasta ese momento:&lt;/p&gt;  &lt;p&gt;En la categoria de comida rapida hay un ganador, la majestuosa “Pizza” que se codea el primer lugar con la hamburguesa, personalmente prefiero la pizza.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_5FBA678A.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_55A5C65F.png" width="532" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sobre la bebida no alcoholica la cosa esta un poco mas disputada entre las bebidas cola y el café, yo prefiero el jugo de frutas.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_2E1ED428.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_2B296F75.png" width="536" height="179" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Donde si tenemos un ganador indiscutible es en la categoria de bebida alcoholica, la cerveza sres. Yo prefiero el vino &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_0740981B.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_469E4BAB.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_75A08782.png" width="540" height="180" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Todo comentario y aporte a estos resultados son bienvenidos.&lt;/p&gt;  &lt;p&gt;P.D.&lt;/p&gt;  &lt;p&gt;Bueno adicionalmente y con las disculpas por el cambio abruto de tema, de ahora en adelante, en este y mis futuros post, hasta el mes de Mayo voy a permitirme divulgar un video que hice y con el que estoy participando en un concurso, &lt;a href="http://www.youtube.com/watch?v=M1mEW07m3B0" target="_blank"&gt;el link es este&lt;/a&gt;. El video se relaciona al uso de las caracteristicas funcionales de C# y a LINQ. &lt;/p&gt;  &lt;p&gt;Saludos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=190613" width="1" height="1"&gt;</description></item><item><title>Simple Proyecto WCF de Consola en VS2010</title><link>http://geeks.ms/blogs/eortuno/archive/2011/03/15/simple-proyecto-wcf-de-consola-en-vs2010.aspx</link><pubDate>Wed, 16 Mar 2011 03:48:55 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:190453</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=190453</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=190453</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/03/15/simple-proyecto-wcf-de-consola-en-vs2010.aspx#comments</comments><description>&lt;p&gt;Este post probablemente puede ser criticado por su simplicidad pero de todas maneras ahi va. En esta occasion comparto con Uds. proyecto de consola que funge como un servicio WCF, la verdad es que no hay nada fuera de lo normal o extraordinario en este post, solo quiza le sirva a alguien para empezar a realizar algunas pruebas con WCF. A mi me sirve como recordatorio o punto inicial de algunas demos que siempre hago sobre WCF.&lt;/p&gt;  &lt;h2&gt;Contenido&lt;/h2&gt;  &lt;p&gt;Una libreria de clases que contiene la interface y la implementacion del servicio, repito nada de extraordinario, solo los metodos y las interfaces comunes que trae el template de Visual Studio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_5274995A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_1D87941D.png" width="307" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;El proyecto de consola, que hospeda el servicio. Algunos en estos momentos se preguntaran por que realizo este post? Pues es como casi todo es una auto referencia y unas miguitas que dejo para que yo mismo o alguien pueda retroceder hacia el pasado y no partir de cero.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_38240A69.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_2E7B9C33.png" width="299" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Lo mejor que puedo aportar en este post es quiza la configuracion hecha en el App.config para habilitar el servicio. Luego de intentar algunas variaciones he encontrado que esta configuracion es la que me funciona mejor en varios escenarios iniciales, luego se va complicando el .config.&lt;/p&gt;  &lt;div style="padding-bottom:0px;padding-left:0px;width:531px;padding-right:0px;display:block;float:none;margin-left:auto;margin-right:auto;padding-top:0px;" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ae7f0358-b664-4795-a68b-8b52c4e58d2e" class="wlWriterEditableSmartContent"&gt;&lt;pre style="width:531px;height:574px;background-color:White;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;services&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;service &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;WcfServiceLibraryDemo.Service1&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; behaviorConfiguration&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;HotsingSamples.Service1Behavior&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color:#008000;"&gt; Service Endpoints &lt;/span&gt;&lt;span style="color:#008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpoint &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;address&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;http://localhost:9192/HelloService&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; binding&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;basicHttpBinding&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; contract&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;WcfServiceLibraryDemo.IService1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpoint&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;endpoint &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;address&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;http://localhost:9192/HelloService/mex&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; binding&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;mexHttpBinding&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; contract&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;IMetadataExchange&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;host&amp;gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#008000;"&gt;          &amp;lt;baseAddresses&amp;gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#008000;"&gt;            &amp;lt;add baseAddress =&amp;quot;&amp;quot;/&amp;gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#008000;"&gt;          &amp;lt;/baseAddresses&amp;gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="color:#008000;"&gt;        &amp;lt;/host&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;service&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;services&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;18&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;19&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;HotsingSamples.Service1Behavior&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;20&lt;/span&gt; &lt;span style="color:#000000;"&gt;          &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color:#008000;"&gt; To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment &lt;/span&gt;&lt;span style="color:#008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;21&lt;/span&gt; &lt;span style="color:#000000;"&gt;          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;serviceMetadata &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;httpGetEnabled&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;22&lt;/span&gt; &lt;span style="color:#000000;"&gt;          &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color:#008000;"&gt; To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information &lt;/span&gt;&lt;span style="color:#008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;23&lt;/span&gt; &lt;span style="color:#000000;"&gt;          &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;serviceDebug &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;includeExceptionDetailInFaults&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;24&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;behavior&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;25&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;26&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;behaviors&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;27&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;28&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;29&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;configuration&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;Archivos&lt;/h2&gt;

&lt;p&gt;Finalmente les dejo el link hacia el codigo fuente de este proyecto:&lt;/p&gt;

&lt;p&gt;&lt;iframe style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;width:98px;padding-right:0px;height:115px;padding-top:0px;" title="Preview" marginheight="0" src="http://cid-e46b27f9dbbd40a1.office.live.com/embedicon.aspx/Archivos%20Publicos/DemoSimple^_ConsoleWCFService.rar" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Tambien les dejo &lt;a href="http://blogs.msdn.com/b/paulwh/archive/2007/05/04/addressaccessdeniedexception-http-could-not-register-url-http-8080.aspx" target="_blank"&gt;el link hacia una valiosa utilidad llamada HttpNamespaceManager&lt;/a&gt;, esta utilidad les permitira registar la reservacion de Namespaces. No se entiende para que sirve? les aseguro que la buscaran cuando tengan errores similares a: HTTP could not register URL http://+:8080/&lt;/p&gt;

&lt;p&gt;Saludos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=190453" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Herramientas/default.aspx">Herramientas</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Programacion Funcional &amp; LINQ</title><link>http://geeks.ms/blogs/eortuno/archive/2011/03/09/programacion-funcional-amp-linq.aspx</link><pubDate>Wed, 09 Mar 2011 04:43:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:190123</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=190123</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=190123</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/03/09/programacion-funcional-amp-linq.aspx#comments</comments><description>&lt;p&gt;Como parte del programa denominado &lt;a target="_blank" href="http://msdn.microsoft.com/es-ar/gg154196.aspx"&gt;Evidencias de Microsoft para Latinoamerica&lt;/a&gt;, he grabado un video mostrando las caracteristicas funcionales de C#, asi como la simplicidad del uso de LINQ. El video dura aproximadamente 11 minutos, espero que en tan breve tiempo les pueda mostrar algo interesante. Los videos estan disponibles para descarga en los siguientes enlaces, espero les guste.&lt;/p&gt;
&lt;p&gt;Youtube: &lt;a target="_blank" href="http://www.youtube.com/watch?v=M1mEW07m3B0"&gt;http://www.youtube.com/watch?v=M1mEW07m3B0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.youtube.com/watch?v=M1mEW07m3B0"&gt;&lt;img height="247" width="397" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_5EAB7388.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DailyMotion: &lt;a target="_blank" href="http://www.dailymotion.com/video/xhg43x_evidencias_tech"&gt;http://www.dailymotion.com/video/xhg43x_evidencias_tech&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.dailymotion.com/video/xhg43x_evidencias_tech"&gt;&lt;img height="236" width="412" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_3487D76E.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vimeo: &lt;a href="http://vimeo.com/20817981" title="http://vimeo.com/20817981"&gt;http://vimeo.com/20817981&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Skydrive: &lt;a href="http://cid-e46b27f9dbbd40a1.office.live.com/self.aspx/Archivos%20Publicos/Evidencias-Video.rar" title="http://cid-e46b27f9dbbd40a1.office.live.com/self.aspx/Archivos%20Publicos/Evidencias-Video.rar"&gt;http://cid-e46b27f9dbbd40a1.office.live.com/self.aspx/Archivos%20Publicos/Evidencias-Video.rar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" marginwidth="0" frameborder="0" src="http://cid-e46b27f9dbbd40a1.office.live.com/embedicon.aspx/Archivos%20Publicos/Evidencias-Video.rar" marginheight="0" title="Preview" style="background-color:#fcfcfc;width:98px;height:115px;padding:0px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Rapidshare (uploading...)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=190123" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Herramientas/default.aspx">Herramientas</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>.NET es libre? hay que pagar licencias?</title><link>http://geeks.ms/blogs/eortuno/archive/2011/02/22/net-es-libre-hay-que-pagar-licencias.aspx</link><pubDate>Wed, 23 Feb 2011 03:09:32 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:189409</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>22</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=189409</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=189409</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/02/22/net-es-libre-hay-que-pagar-licencias.aspx#comments</comments><description>&lt;p&gt;Ayer un amigo, con bastante preocupación, me hizo la siguiente consulta:&lt;/p&gt;  &lt;p&gt;&amp;quot;Mira yo estoy en la Universidad aún tengo que sacar un proyecto. Que opción elegirías tu para desarrollar un proyecto web? Excluyendo ASP.NET, por el tema del pago de licencias.&amp;quot;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="509"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_2DD2E56D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_2BD15C98.png" width="240" height="158" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="307"&gt;         &lt;p&gt;Yo que andaba concentrado en NHibernate, moví la cabeza, como sacudiéndome el letargo, que me traían horas de desarrollo previo y le dije:&lt;/p&gt;          &lt;p&gt;&amp;quot;Un momento, dijiste licencias por usar ASP.NET?&amp;quot;&lt;/p&gt;          &lt;p&gt;A lo que Ricardo, respondió:&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;quot;Si, sucede que yo estoy laburando desde hace varios meses con .NET, vi todas sus ventajas y como tengo que hacer ese proyecto para la Universidad, le dije a mi docente si podía hacerlo usando .NET y ella me respondió que no, porque a) No es libre y b) Tendría que pagar licencias para usar&amp;quot;&lt;/p&gt;  &lt;h3&gt;Preambulo&lt;/h3&gt;  &lt;p&gt;Arrrgggg, dije para mis adentros: &amp;quot;Otro docente (en mi país) totalmente desinformado que a su vez genera desinformación y confusión entre sus estudiantes.&amp;quot;. No es la primera vez que algún estudiante de alguna universidad (especialmente de las Universidades del Gobierno o Estatales) vienen hacia mí con dudas como esa y no los culpo. Si aquel que se supone sabe más que tu (el docente), te dice lo primero que escucho de alguna banda de resentidos o fanáticos de &amp;quot;otras&amp;quot; plataformas y que no ha tenido la voluntad ni el deseo de informarse correctamente..... ¿Qué podemos esperar de sus estudiantes?.... pues ese tipo de preguntas y aseveraciones.&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="531"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_6DE49F4E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_29E0BB37.png" width="200" height="200" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="329"&gt;Tampoco los culpo, porque el medio en el que hoy nos desenvolvemos, es un creciente caldo de cultivo de odios, miedos y resentimientos hacia Microsoft, caldo de cultivo que es aprovechado por cuan aprendiz desinformado de geek, que suelta la primera ideota que ha escuchado o leído incompletamente por ahí, alentados sin duda &amp;quot;malintencionadamente&amp;quot; por algunos otros geeks &amp;quot;seniors&amp;quot; que ven la oportunidad de hacer crecer su reputación con cuasi-seguidores-oveja que solo repetirán lo que ellos dicen, ocultando la verdad.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;También existe un factor casi misterioso que alienta esta desinformación en mi país y sucede que desde hace varios años, las universidades públicas se han cerrado a enseñar únicamente J2EE como plataforma de desarrollo, con el mismo conjunto de argumentos que Ricardo vino a mí: &amp;quot;Si desarrollas en .NET te harán pagar licencias o tienes que pagar licencias, no es gratis, te cobraran…. Etc.&amp;quot;, cosa totalmente equivocada, como lo explicare un poco más adelante. Si me preguntan quien metio esa idea en las universidades… la verdad no se.&lt;/p&gt;  &lt;p&gt;Como podrán percibir, este es un tema que me molesta y repito, no por los estudiantes, sino por sus docentes y las universidades y su corta y mediocre visión. Es por esta razón que por varios años consecutivos tomo cartas en el asunto, visitando las Universidades en las ciudades que me toca vivir y dando charlas o conferencias gratuitamente sobre este tema y temas técnicos. &lt;/p&gt;  &lt;p&gt;Este articulo/post servirá a la postre, como una referencia a preguntas y dudas similares, creo que es más que suficiente preámbulo.&lt;/p&gt;  &lt;h3&gt;Respondiendo…&lt;/h3&gt;  &lt;p&gt;Volvamos a la respuesta y los argumentos esgrimidos por la docente de nuestro amigo Ricardo:&lt;/p&gt;  &lt;h5&gt;1. NO ES LIBRE?&lt;/h5&gt;  &lt;p&gt;Ella aduce que .NET no es libre, como yo conozco bien estos argumentos puede que por LIBRE este entendiendo una de las siguientes opciones o en el peor de los casos una combinación absurda de todas ellas:&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;a) No es Gratis.&lt;/strong&gt;&lt;/u&gt; &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="512"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_13CA29D8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_09A562E0.png" width="216" height="240" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="310"&gt;         &lt;p&gt;&lt;strong&gt;&lt;em&gt;Contexto&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;.NET no es un producto, .NET es una plataforma, .NET es la suma de varios productos, servicios e incluso mejores prácticas; desde ese punto de vista no podría ponerse a .NET un precio. Tal vez está entendiendo por .NET a VisualStudio.NET, bueno aquí hay algo de cierto en la afirmación, VS.NET en sus versiones Profesional/Ultimate no son gratis, pero existen versiones gratuitas de VS, las versiones llamadas Express, &lt;a href="http://www.microsoft.com/express/Downloads/" target="_blank"&gt;que pueden ser encontradas aquí&lt;/a&gt;. &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Si alguien usa estas versiones puede desarrollar aplicaciones .NET sin pagar la licencia de VS, incluso puedes desarrollar productos comerciales y venderlos y no pagaras nada por el uso de estas versiones Express. Aquí también hay una duda recurrente y es lo relacionado a SQLServer, efectivamente las versiones comerciales de SQLServer son sujetas a licenciamiento, pero también se dispone de una versión Express &lt;a href="http://www.microsoft.com/express/Database/" target="_blank"&gt;que pueden descargarla aquí&lt;/a&gt;, que también es totalmente gratuita, para hacer incluso proyectos comerciales.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Respuesta&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Depende del producto que estes usando, algunos productos son gratuitos y de libre distribucion, otros estan sujetos a un pago por licenciamiento.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;b) No es OpenSource.&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="477"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_349D50E5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_654032C3.png" width="240" height="207" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="275"&gt;         &lt;p&gt;&lt;strong&gt;&lt;em&gt;Contexto&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Entiéndase por OpenSource la posibilidad de disponer del código fuente de un producto de software, &lt;a href="http://opensource.org/docs/osd" target="_blank"&gt;tal cual se define aquí&lt;/a&gt;; si nos vamos por ese camino y analizamos algunos de los muchos posibles pensamientos que la docente, de nuestro &amp;quot;caso de estudio&amp;quot;, podría estar teniendo obtenemos lo siguiente:&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Respuesta&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Es VisualStudio.NET OpenSource? definitivamente no!, no tenemos en nuestras manos el código fuente de VS y yo me pregunto: Realmente lo necesitamos? Para aquellos que creen que por objetivos académicos y para aprender y para saber que pasa realmente por “detrás”, la respuesta sigue siendo no. Aunque se que Microsoft ha compartido el código de Windows con gobiernos y universidades bajo un programa/licencia conocido como Shared-Source, quizá exista una iniciativa similar para el código de VS. Me sigo encontrando personas que aun quieren aprender a hacer un entorno similar a VS y siguen preguntando más allá de la respuesta anterior. Para ellos quizá les sirve saber que existe un entorno &amp;quot;parecido&amp;quot; a VS que se llama &lt;a href="http://www.sharpdevelop.net/opensource/sd/" target="_blank"&gt;SharpDevelop&lt;/a&gt;, este si es un proyecto OpenSource e incluso &lt;a href="http://www.sharpdevelop.net/OpenSource/SD/InsideSharpDevelopBook/ApressDownloads.aspx" target="_blank"&gt;hay un libro que relata como construyeron su entorno&lt;/a&gt;, que es totalmente gratuito. Además de ser algo que he leído, probado y recomendado académicamente, es una muestra más que con .NET también podemos hacer proyectos OpenSource.&lt;/p&gt;  &lt;p&gt;Aquí también es oportuno aclarar que pueden acceder al código de la libreria de clases del Framework.NET, &lt;a href="http://blogs.microsoft.co.il/blogs/arik/archive/2010/07/12/step-into-net-framework-4-0-source-code.aspx" target="_blank"&gt;el cual puede ser descargado&lt;/a&gt; mediante VisualStudio y a demanda y puede verse como han sido construidas las clases del FX y ni que decir de las toneladas de aprendizaje que esto trae.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;c) No es libre.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="531"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_65300CF6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_5CC823A0.png" width="240" height="151" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="329"&gt;         &lt;p&gt;&lt;strong&gt;&lt;em&gt;Contexto&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;          &lt;p&gt;Quizá la docente está pensando, en la libertad en el sentido estricto o al menos en el sentido tal cual Richard Stallman, la propuso en su GPL. Para los que leen esto por primera vez seguramente es sorprendente ver que OpenSource != SoftwareLibre, son dos cosas totalmente distintas y a su vez parecidas. Estas semejanzas son las que son aprovechadas malintencionadamente como dije, por algunas personas, que con el ánimo de confundir no hacen la clara distinción entre ambas. &lt;a href="http://geeks.ms/blogs/eortuno/archive/2009/04/21/microsoft-amp-software-libre-preparaci-243-n.aspx"&gt;En este vínculo he colocado un resumen de una de las charlas que di hace tiempo sobre este tema&lt;/a&gt;. &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Respuesta&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;VS no está sujeta a la licencia GPL, pero nuevamente lo pregunto: Realmente lo necesitamos? Quiza desde el punto de vista de un purista de la libertad si resulte importante, pero desde mi punto de vista de la productividad sigue siendo poco relevante.&lt;/p&gt;  &lt;p&gt;Como vimos el tema de que .NET es gratis/libre/opensource no es de lo más simple de explicar y tampoco hay una respuesta inmediata a una afirmación, que no tiene mayor información. A continuación respondemos la segunda afirmación realizada por la docente.&lt;/p&gt;  &lt;h5&gt;2. HAY QUE PAGAR LICENCIAS?&lt;/h5&gt;  &lt;p&gt;Como vimos en el punto anterior, dependiendo del caso y de las herramientas que estemos seleccionando, tendremos que pagar o no licencias. Si deseamos usar VS o SQL Server en una de sus versiones Standard/Profesional/Ultimate si tendremos que pagar licencias; si deseamos usar las versiones Express, NO, no tendremos que pagar ninguna licencia.&lt;/p&gt;  &lt;p&gt;Pero la respuesta del licenciamiento en el ámbito académico va más allá de la anterior. Microsoft ha creado un programa denominado &lt;a href="http://www.microsoft.com/education/license/howtobuy/agreements/campusenrollment.aspx" target="_blank"&gt;Microsoft Campus Enrollment&lt;/a&gt; (yo lo conocía por Campus Agreement), que desde el 11 de Marzo será reemplazado por &lt;a href="http://www.microsoft.com/education/license/howtobuy/agreements/ees.aspx" target="_blank"&gt;Microsoft Enrollment for Education Solutions&lt;/a&gt;. Este programa permite que las Universidades licencien el uso de su software, por un precio anual (yo diría incluso nominal por su bajo costo) de tal manera que todos sus laboratorios, docentes, administrativos y estudiantes, pueden usar los productos Microsoft (hay que ver que algunos productos están restringidos). En el caso de VS si está permitido, así como muchas de las soluciones de la plataforma .NET, por no decir todas.&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="530"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_1562A7E1.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_7179D086.png" width="240" height="94" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="328"&gt;         &lt;p&gt;Entonces el tema de licenciamiento, para una universidad, no es un pretexto para no usar .NET, yo creo que pasa por un tema de información que deben recibir las autoridades de la universidad y también por una cuestión de voluntad; si las autoridades conocen los beneficios que traen estos programas o similares pero no tienen la voluntad de implementarlos es otro tema, solo están perjudicando a sus propios estudiantes.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;Conclusiones&lt;/h3&gt;  &lt;p&gt;En todo caso no debería existir un docente que restrinja a un estudiante, la utilización de una herramienta o plataforma, eso demuestra solamente el miedo que puede que tengan a algo que no conocen o sus limitaciones o prejuicios personales o de sus superiores.&lt;/p&gt;  &lt;p&gt;Así que ya saben estimados amigos estudiantes, no se dejen intimidar por sus docentes o por la universidad, el conocimiento es libre y muchas de las herramientas que ofrece Microsoft también, si alguno tiene un “caso” difícil, no dude en llamarme que gentilmente acudiré en su ayuda. :D.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=189409" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Bolivia/default.aspx">Bolivia</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Opiniones/default.aspx">Opiniones</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Explorando NHibernate 3.0 (I)</title><link>http://geeks.ms/blogs/eortuno/archive/2011/02/21/explorando-nhibernate-3-0-i.aspx</link><pubDate>Mon, 21 Feb 2011 04:51:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:189312</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=189312</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=189312</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/02/21/explorando-nhibernate-3-0-i.aspx#comments</comments><description>&lt;p&gt;Las personas que me conocen seguramente se sorprender&amp;aacute;n por este y los posteriores post que escribir&amp;eacute; con relaci&amp;oacute;n a NHibernate, bueno todo tiene una explicaci&amp;oacute;n y esa para este caso podr&amp;iacute;an ser varias: Quiz&amp;aacute; la primera y m&amp;aacute;s importante el &amp;ldquo;bendito&amp;rdquo; Karma que me persigue para usar NHibernate desde hace varios proyectos y no me malinterpreten no es que est&amp;eacute; en contra de NHibernate pero la verdad es que tiene una curva de aprendizaje bastante empinada y aunque hay mucho soporte por ah&amp;iacute; (incluso comercial) pues me mandan a la batalla con pr&amp;aacute;cticamente cero de esa armadura, otra raz&amp;oacute;n puede ser que me he involucrado en proyectos en los que no quieren comprar un EF Provider para Oracle y tampoco quieren esperar a la pr&amp;oacute;xima liberaci&amp;oacute;n de este provider &amp;ldquo;gratuito&amp;rdquo; por parte de Oracle; sea cual fuese la raz&amp;oacute;n aqu&amp;iacute; me tienen escribiendo sobre NHibernate.&lt;/p&gt;
&lt;p&gt;Como todos mis post, incluso aquellos que pongo en twitter, lo hago como una gu&amp;iacute;a auto-recordatoria en un 70% y por esta raz&amp;oacute;n tambi&amp;eacute;n lanzo un ligero aviso antes de continuar leyendo. En este post, aquellos que ya conocen NHibernate no encontraran algo nuevo, quiz&amp;aacute; encuentren algunos errores m&amp;iacute;os o algo malo que est&amp;eacute; haciendo, son libres de criticar y corregirlos, por favor.&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n he decidido explorar las nuevas caracter&amp;iacute;sticas de NHibernate 3.0 entre ellas probablemente la m&amp;aacute;s esperada es la integraci&amp;oacute;n de LINQ to NHibernate (que seg&amp;uacute;n dicen, fue reescrito desde cero) veamos:&lt;/p&gt;
&lt;h3&gt;Entidades&lt;/h3&gt;
&lt;p&gt;Tengo inicialmente las siguientes entidades, debo mencionar que quiz&amp;aacute; la relaci&amp;oacute;n parezca algo extra&amp;ntilde;a por que deber&amp;iacute;a ser una relacion many-to-many , pero la entidad StudentCourse va a convertirse &amp;ldquo;pronto&amp;rdquo; en esa tabla intermedia, por lo que perm&amp;iacute;tanme la libertad de una relaci&amp;oacute;n one-to-many&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_34DFCC0A.png"&gt;&lt;img height="175" width="456" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_7BF54C6F.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Mapeo&lt;/h3&gt;
&lt;p&gt;La configuraci&amp;oacute;n de los archivos de mapeo inicialmente es&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:679f2254-e64b-4ef6-8223-31ce94eb4b1f" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="background-color:white;width:517px;height:256px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Students&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentName&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourses&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;save-update&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;key &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;one-to-many &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bag&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:d759a98b-0468-436a-8d03-9683203836e8" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="background-color:white;width:517px;height:256px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#FF00FF;"&gt;xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 2&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;urn:nhibernate-mapping-2.2&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; assembly&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; namespace&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DemoNHibernate.Dal.Entities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 3&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;class &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; table&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourse&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;id &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentCourseId&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 5&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;generator &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;guid&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;property &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; column&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;RegistrationDate&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;DateTime&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 8&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Student&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; cascade&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;all&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 9&lt;/span&gt; &lt;span style="color:#000000;"&gt;      &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;column &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;StudentId&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;10&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;many-to-one&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;11&lt;/span&gt; &lt;span style="color:#000000;"&gt;  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;class&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;12&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;hibernate-mapping&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3&gt;Pruebas&lt;/h3&gt;
&lt;p&gt;Como podr&amp;aacute;n ver el mapeo y las entidades no son la gran cosa, pero aqu&amp;iacute; veamos c&amp;oacute;mo se comportan algunas pruebas que quiero hacer, fundamentalmente para borrar entidades hijas a trav&amp;eacute;s del update del padre (quiz&amp;aacute; est&amp;eacute; hablando en chino para algunos pero les pido paciencia, al leer el c&amp;oacute;digo del UpdatingChildEntities se entender&amp;aacute; un poco m&amp;aacute;s.&lt;/p&gt;
&lt;p&gt;Explicare algunos elementos que ver&amp;aacute;n en el c&amp;oacute;digo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RandomText, es una clase &lt;a href="http://www.siliconcommandergames.com/MarkovNameGenerator.htm"&gt;de Markov&lt;/a&gt; que genera aleatoriamente frases/oraciones /parrafos&lt;/li&gt;
&lt;li&gt;Estoy usando algo m&amp;eacute;todos an&amp;oacute;nimos para encapsular la llamada a la inicializaci&amp;oacute;n del contexto y de la transacci&amp;oacute;n, el m&amp;eacute;todo Execute.&lt;/li&gt;
&lt;li&gt;Estoy usando el patron TestDataBuilder como lo explique &lt;a href="http://geeks.ms/blogs/eortuno/archive/2010/11/07/tdd-con-el-patr-243-n-test-data-builder.aspx"&gt;en un anterior post&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;El c&amp;oacute;digo est&amp;aacute; en un solo archivo por ahora, por simplicidad, en la versi&amp;oacute;n final lo dividir&amp;eacute; correctamente&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:99c99af1-e45d-444d-b10e-fd001f4557d4" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;pre style="background-color:white;width:531px;height:574px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;  1&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color:#000000;"&gt; DemoNHibernate.Dal.Tests
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  2&lt;/span&gt; &lt;span style="color:#000000;"&gt;{
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    [TestClass]
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; PersistenceTests
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  5&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  6&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; RandomText generator;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  7&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; ISession session;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  8&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;protected&lt;/span&gt;&lt;span style="color:#000000;"&gt; ISession Session
&lt;/span&gt;&lt;span style="color:#008080;"&gt;  9&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 10&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; session &lt;/span&gt;&lt;span style="color:#000000;"&gt;??&lt;/span&gt;&lt;span style="color:#000000;"&gt; (session &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; NHibernateHelper.OpenSession()); }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 11&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 12&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 13&lt;/span&gt; &lt;span style="color:#000000;"&gt;        [TestInitialize]
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 14&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; GenerateData()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 15&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 16&lt;/span&gt; &lt;span style="color:#000000;"&gt;            generator &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; RandomText();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 17&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 18&lt;/span&gt; &lt;span style="color:#000000;"&gt;            Execute((context, tx) &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:#008080;"&gt; 19&lt;/span&gt; &lt;span style="color:#000000;"&gt;            {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 20&lt;/span&gt; &lt;span style="color:#000000;"&gt;                var st &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentTestDataBuilder()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 21&lt;/span&gt; &lt;span style="color:#000000;"&gt;                {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 22&lt;/span&gt; &lt;span style="color:#000000;"&gt;                    StudentName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; generator.Sentance(),
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 23&lt;/span&gt; &lt;span style="color:#000000;"&gt;                    StudentCourses &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCoursesTestBuilder().BuildList(&lt;/span&gt;&lt;span style="color:#800080;"&gt;3&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 24&lt;/span&gt; &lt;span style="color:#000000;"&gt;                }.Build();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 25&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 26&lt;/span&gt; &lt;span style="color:#000000;"&gt;                Session.Save(st);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 27&lt;/span&gt; &lt;span style="color:#000000;"&gt;                tx.Commit();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 28&lt;/span&gt; &lt;span style="color:#000000;"&gt;            });
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 29&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 30&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 31&lt;/span&gt; &lt;span style="color:#000000;"&gt;        [TestMethod]
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 32&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; DeletingChildElement()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 33&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 34&lt;/span&gt; &lt;span style="color:#000000;"&gt;            Execute((context, tx) &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:#008080;"&gt; 35&lt;/span&gt; &lt;span style="color:#000000;"&gt;                        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 36&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            var st &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (from s &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;in&lt;/span&gt;&lt;span style="color:#000000;"&gt; context.Students
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 37&lt;/span&gt; &lt;span style="color:#000000;"&gt;                                      select s).FirstOrDefault();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 38&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            Assert.IsNotNull(st);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 39&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            Assert.IsNotNull(st.StudentCourses);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 40&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            Assert.IsTrue(st.StudentCourses.Count &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:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 41&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            st.StudentName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Deleted at &lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; DateTime.Now;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 42&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            st.StudentCourses.RemoveAt(&lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 43&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            Session.Update(st);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 44&lt;/span&gt; &lt;span style="color:#000000;"&gt;                            tx.Commit();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 45&lt;/span&gt; &lt;span style="color:#000000;"&gt;                        });
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 46&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 47&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 48&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; Execute(Action&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;BaseModelContext, ITransaction&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; method)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 49&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 50&lt;/span&gt; &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; (var context &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; BaseModelContext(Session))
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 51&lt;/span&gt; &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; (var trx &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; Session.BeginTransaction())
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 52&lt;/span&gt; &lt;span style="color:#000000;"&gt;            {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 53&lt;/span&gt; &lt;span style="color:#000000;"&gt;                method(context, trx);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 54&lt;/span&gt; &lt;span style="color:#000000;"&gt;            }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 55&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 56&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 57&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 58&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCoursesTestBuilder
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 59&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 60&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;virtual&lt;/span&gt;&lt;span style="color:#000000;"&gt; Student Student { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;; }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 61&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;virtual&lt;/span&gt;&lt;span style="color:#000000;"&gt; DateTime RegistrationDate { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;; }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 62&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 63&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; IList&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;StudentCourse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; BuildList(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; quantity)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 64&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 65&lt;/span&gt; &lt;span style="color:#000000;"&gt;            var result &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; List&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;StudentCourse&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:#008080;"&gt; 66&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;for&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;&lt;span style="color:#000000;"&gt; i &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;; i &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; quantity; i&lt;/span&gt;&lt;span style="color:#000000;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 67&lt;/span&gt; &lt;span style="color:#000000;"&gt;            {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 68&lt;/span&gt; &lt;span style="color:#000000;"&gt;                StudentCourse sc &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCoursesTestBuilder()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 69&lt;/span&gt; &lt;span style="color:#000000;"&gt;                                    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 70&lt;/span&gt; &lt;span style="color:#000000;"&gt;                                        RegistrationDate &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; DateTime.Now
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 71&lt;/span&gt; &lt;span style="color:#000000;"&gt;                                    }.Build();
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 72&lt;/span&gt; &lt;span style="color:#000000;"&gt;                result.Add(sc);
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 73&lt;/span&gt; &lt;span style="color:#000000;"&gt;            }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 74&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; result;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 75&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 76&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 77&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse Build()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 78&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 79&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourse()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 80&lt;/span&gt; &lt;span style="color:#000000;"&gt;                       {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 81&lt;/span&gt; &lt;span style="color:#000000;"&gt;                           RegistrationDate &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.RegistrationDate,
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 82&lt;/span&gt; &lt;span style="color:#000000;"&gt;                           Student &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Student
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 83&lt;/span&gt; &lt;span style="color:#000000;"&gt;                       };
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 84&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 85&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 86&lt;/span&gt; &lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 87&lt;/span&gt; &lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentTestDataBuilder
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 88&lt;/span&gt; &lt;span style="color:#000000;"&gt;    {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 89&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;virtual&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentName { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;; }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 90&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;virtual&lt;/span&gt;&lt;span style="color:#000000;"&gt; IList&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;StudentCourse&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; StudentCourses { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;set&lt;/span&gt;&lt;span style="color:#000000;"&gt;; }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 91&lt;/span&gt; &lt;span style="color:#000000;"&gt;        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; Student Build()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 92&lt;/span&gt; &lt;span style="color:#000000;"&gt;        {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 93&lt;/span&gt; &lt;span style="color:#000000;"&gt;            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Student()
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 94&lt;/span&gt; &lt;span style="color:#000000;"&gt;                       {
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 95&lt;/span&gt; &lt;span style="color:#000000;"&gt;                           StudentName &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.StudentName,
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 96&lt;/span&gt; &lt;span style="color:#000000;"&gt;                           StudentCourses &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.StudentCourses
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 97&lt;/span&gt; &lt;span style="color:#000000;"&gt;                       };
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 98&lt;/span&gt; &lt;span style="color:#000000;"&gt;        }
&lt;/span&gt;&lt;span style="color:#008080;"&gt; 99&lt;/span&gt; &lt;span style="color:#000000;"&gt;    }
&lt;/span&gt;&lt;span style="color:#008080;"&gt;100&lt;/span&gt; &lt;span style="color:#000000;"&gt;}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;101&lt;/span&gt; &lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3&gt;Resultados&lt;/h3&gt;
&lt;p&gt;La prueba que me trae aqu&amp;iacute; es la que se encuentra en la l&amp;iacute;nea 42, donde ver&amp;aacute;n que estoy eliminando un elemento de la colecci&amp;oacute;n de StudentCourses, mediante el RemoveAt y luego en la l&amp;iacute;nea 43 hago un update de la entidad padre, esto ocasiona un comportamiento probablemente esperado por muchos de los que ya conocen NHibernate:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;La entidad padre se actualiza correctamente&lt;/li&gt;
&lt;li&gt;La entidad hija borrada de la colecci&amp;oacute;n, NO se borra f&amp;iacute;sicamente de la base de datos, simplemente se coloca un valor NULL en su llave for&amp;aacute;nea, lo cual lo desvincula a su entidad padre, digamos que hace alg&amp;uacute;n tipo de borrado l&amp;oacute;gico.&lt;/li&gt;
&lt;li&gt;Porque este comportamiento? Se debe a que el la definici&amp;oacute;n del mapeo, en la l&amp;iacute;nea 8, del primer archivo (Student.hbm.xml) se encuentra la definici&amp;oacute;n del borrado en cascada, de la siguiente manera: &lt;b&gt;cascade=&amp;quot;save-update&amp;quot;&lt;/b&gt;, es decir no se ha definido ning&amp;uacute;n comportamiento especial para el borrado.&lt;/li&gt;
&lt;li&gt;Como resultado de algunas pruebas he determinado que el m&amp;eacute;todo LastOrDefault() no est&amp;aacute; soportado aun por Linq to NHibernate 3.0, no es el gran problema, pero aun evidencia que no hay una implementaci&amp;oacute;n completa de LINQ, lastima.&lt;/li&gt;
&lt;/ol&gt;&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_47C06182.png"&gt;&lt;img height="76" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_30358784.png" alt="image" border="0" title="image" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_2E7495E3.png"&gt;&lt;img height="87" width="490" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/image_5F00_thumb_5F00_5CFA78F8.png" alt="image" border="0" title="image" style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En un siguiente post, mas sobre el comportamiento de borrado de entidades hijas, mediante el update del padre.&lt;/p&gt;
&lt;p&gt;Saludos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=189312" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/TDD/default.aspx">TDD</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/NHibernate/default.aspx">NHibernate</category></item><item><title>Comidas y bebidas favoritas de un desarrollador</title><link>http://geeks.ms/blogs/eortuno/archive/2011/02/10/comidas-y-bebidas-favoritas-de-un-desarrollador.aspx</link><pubDate>Thu, 10 Feb 2011 05:11:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:188747</guid><dc:creator>Enrique Ortuño</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/rsscomments.aspx?PostID=188747</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=188747</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2011/02/10/comidas-y-bebidas-favoritas-de-un-desarrollador.aspx#comments</comments><description>&lt;div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:4px 0px 4px 0px;"&gt;&lt;iframe scrolling="no" frameborder="0" src="http://www.facebook.com/widgets/like.php?href=http://geeks.ms/blogs/eortuno/archive/2011/02/10/comidas-y-bebidas-favoritas-de-un-desarrollador.aspx" style="width:450px;height:18px;"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Hace unos d&amp;iacute;as una compa&amp;ntilde;era de trabajo descubri&amp;oacute; que no me gusta el caf&amp;eacute; y su reacci&amp;oacute;n fue decir &amp;ldquo;&amp;hellip; que extra&amp;ntilde;o!... un desarrollador al que no le gusta el caf&amp;eacute;&amp;rdquo; y la verdad es que yo no lo consumo hace casi 20 a&amp;ntilde;os y bueno me entr&amp;oacute; la curiosidad de sondear en esta nuestra comunidad, los gustos que compartimos los desarrolladores, en esas largas horas de soledad entre tu c&amp;oacute;digo y uno mismo. Con la curiosidad del caso, aqu&amp;iacute; est&amp;aacute;n las preguntas y respuestas m&amp;aacute;s simples con opciones cerradas y comunes en mi pa&amp;iacute;s, sin &amp;aacute;nimo de ofender o criticar ning&amp;uacute;n gusto en particular.&lt;/p&gt;
&lt;p&gt;&lt;iframe width="100%" frameborder="0" src="http://polldaddy.com/s/27C126B68D54C985?iframe=1" height="600"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=188747" width="1" height="1"&gt;</description></item></channel></rss>
