<?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>Usando Git &amp; GitHub &amp; Nodester</title><link>http://geeks.ms/blogs/eortuno/archive/2012/03/24/usando-git-amp-github-amp-nodester.aspx</link><pubDate>Sat, 24 Mar 2012 05:35:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203962</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=203962</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=203962</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/03/24/usando-git-amp-github-amp-nodester.aspx#comments</comments><description>&lt;p align="justify"&gt;Sabian que Codeplex ahora soporta Git como DVCS? (&lt;a href="https://www.infoworld.com/d/application-development/microsoft-adds-git-support-codeplex-repository-189372?source=rss_application_development"&gt;https://www.infoworld.com/d/application-development/microsoft-adds-git-support-codeplex-repository-189372?source=rss_application_development&lt;/a&gt;) Este chisme me sirve como introduccion a lo que les voy a contar.&amp;nbsp;Hace algunas semanas unos amigos me pidieron ayudar en un proyecto que involucra Node.js, el porque Node.js y no ASP.NET va ma alla de este simple post, aunque en realidad si usaremos ASP.NET en combinacion con Node.js, pero esa es otra historia. Entonces acepte la idea y tome el desafio, con mi conocimiento escencial de javascript &amp;amp; coffeescript emprendimos un par de semanas de arduo trabajo nocturno, pues mi trabajo &amp;ldquo;normal&amp;rdquo; me consume la mayor parte del dia y las clases que doy en la universidad un par de horas de la noche, como se imaginaran casi no me quedo tiempo de dedicarlo a mi familia y a dormir, al menos ese par de semanas fue una locura. Pero todo fue excelente pues aunque el proyecto no es la gran cosa &amp;ldquo;no podemos decir exactamente que es por acuerdos de confidencialidad&amp;rdquo; para mi fue una oportunidad de aprender nuevas tecnologias y eso hice y aqui, en este espacio, les voy presentando algunas de las aventuras que vivi.&lt;/p&gt;
&lt;p align="justify"&gt;La aplicacion Node.js no es el tema que me trae precisamente a este punto, la aplicacion la programamos en un servidor local y mi aventura comienza cuando debemos encontrar un hosting para la aplicacion, afortunadamente escucho de &lt;a target="_blank" href="http://www.nodester.com"&gt;Nodester&lt;/a&gt; que ofrece un servicio gratuito precisamente para Node.js, la unica cosilla que novedosa&amp;hellip;. es que usa &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Git_(software)"&gt;Git&lt;/a&gt; para controlar los cambios en los archivos. &lt;/p&gt;
&lt;p align="justify"&gt;Git es un software de control de versiones, digamos al mejor estilo de comparacion con SVN, Mercurial, etc. (No lo comparo con TFS porque aunque se podria decir que TFS tiene un control de versiones, TFS es mucho mas que solo un VCS). Pero tambien Git tiene sus bondades y es que hace tiempo anduve buscando un VCS que me permita hacer un rastreo de los cambios de mis archivos de modo local, es decir sin tener que instalar un servidor de TFS o un servidor de SVN &amp;hellip;. bueno uds me entienden y efectivamente Git permite eso, ademas que trae un interesante concepto llamado &lt;a target="_blank" href="http://www.techrepublic.com/blog/project-management/social-coding-the-next-wave-in-development/3257"&gt;Social Coding&lt;/a&gt; que va mas alla del Open Source. El concepto, la filosofia y las herramientas de Git me encantaron, despertaron mi interes mas alla de Nodester &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_206DAA54.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; entonces decidi instalarlo, configurarlo y utilizarlo. &lt;/p&gt;
&lt;p align="justify"&gt;Aqui algunos pasos que segui y algunas de mis recomendaciones para los que tambien se inician:&lt;/p&gt;
&lt;p align="justify"&gt;El libro de referencia perfecta para Git es &amp;ldquo;Git Pro&amp;rdquo; de Scott Chacon: &lt;a href="http://progit.org/book/"&gt;http://progit.org/book/&lt;/a&gt;, recomiendo leer al menos los primeros 3 capitulos, el libro es genial&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Afortunadamente Nodester me paso un excelente punto de inicio. Yo usuario de Windows no pienso resignar mi Sistema Operativo asi que empece por aqui: &lt;a href="http://help.github.com/win-set-up-git/"&gt;http://help.github.com/win-set-up-git/&lt;/a&gt;, que es la guia oficial de Github para instalar Git bajo Windows, genial&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;La recomendacion que les hago al seguir la guia es, hacerlo exactamente con los pasos tal cual les dicen, de lo contrario estaran viendose a ustedes mismos bloqueados en algun punto de la configuracion.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;La generacion de las llaves puede resultar un poco truculenta &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_206DAA54.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; pero una vez que lo hagan todo funciona bien. Truculenta en el sentido de que si se equivocan en algo por ejemplo en el directorio donde generan las llaves puede ser que la conexion con Github o Nodester, no funcionara!&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Luego a instalar la app de nodester usando &amp;ldquo;npm install nodester-cli -g &amp;rdquo;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Hacer un setup de las cuentas de Nodester&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Finalmente seguir las instrucciones del video &lt;a href="http://www.youtube.com/watch?v=jwsP1Ejv-_w"&gt;http://www.youtube.com/watch?v=jwsP1Ejv-_w&lt;/a&gt; hay algunas cosas que no me funcionaron al seguir esas instrucciones, ya lo reporte y seguramente haran un update de sus herramientas o en el peor de los casos del video &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_206DAA54.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;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p align="justify"&gt;Pero las cosas no quedaron ahi, yo me adentre mas al mundo de Git y comence a usar Github, se que hay otras muchas opciones pero bueno seguramente en algun momento las probare.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Descargue e instale un conjunto de herramientas llamadas GitExtensions, que tienen varias utilidades entre ellas un plugin para VS2010, de tal forma de integrar Git dentro de VS, debo decir que no le llega ni a los talones a TFS &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/wlEmoticon_2D00_smile_5F00_206DAA54.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; pero tampoco lo necesita porque todo puede hacerse desde la la linea de comandos llamada Git Bash, que es absolutamente genial.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;El siguiente paso es subir un proyecto a Github y las instrucciones para crear y &amp;ldquo;promover&amp;rdquo; cambios a un repositorio en Github estan aqui: &lt;a href="http://help.github.com/create-a-repo/"&gt;http://help.github.com/create-a-repo/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;El comando &amp;ldquo;git remote add origin &lt;a href="mailto:git@github.com:username/Hello-World.git"&gt;git@github.com:username/Hello-World.git&lt;/a&gt;&amp;rdquo; es el &amp;ldquo;secreto&amp;rdquo; de todo, pero aunque las instrucciones son simples y hay documentacion por todo lado, un serio problema me mantuvo bloqueado un par de horas fue un error que decia &amp;ldquo;Disconnected: No supported authentication methods available&amp;rdquo; &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;La causa del error&amp;hellip; la falta de un archivo .profile en el /home, el archivo tenia que contener la ruta al ejecutable ssh.exe, el contenido del archivo a continuacion:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;SSH_ENV=&amp;quot;$HOME/.ssh/environment&amp;quot;     &lt;br /&gt;GIT_SSH=&amp;quot;/usr/bin/ssh.exe&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Luego de agregar este archivo todo funciono de maravillas a tal punto que ya subi un proyecto a github, justamente el proyecto de mi anterior post &lt;a href="http://geeks.ms/blogs/eortuno/archive/2012/03/19/objetos-globales-con-coffescript-javascript.aspx"&gt;Objetos Globales con CoffeeScript / Javascript&lt;/a&gt;, lo pueden encontrar aqui: &lt;a href="https://github.com/tecnocrata/GlobalObjectsCoffeeScript"&gt;https://github.com/tecnocrata/GlobalObjectsCoffeeScript&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bueno eso es todo por ahora.&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=203962" 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/ASP.NET/default.aspx">ASP.NET</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Git/default.aspx">Git</category></item><item><title>Objetos Globales con CoffeeScript / Javascript</title><link>http://geeks.ms/blogs/eortuno/archive/2012/03/19/objetos-globales-con-coffescript-javascript.aspx</link><pubDate>Tue, 20 Mar 2012 02:49:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203915</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=203915</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=203915</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/03/19/objetos-globales-con-coffescript-javascript.aspx#comments</comments><description>&lt;p align="justify"&gt;Antes que nada debo indicar que no soy un experto en Javascript y mucho de lo que escribire a continuacion puede sonar conocido, repetitivo y tonto para algunos, sepan disculparme. Bueno, por aquella complejidad intrinseca de Javascript es que yo he encontrado fabuloso el concepto de &lt;a target="_blank" href="http://coffeescript.org/"&gt;CoffeeScript&lt;/a&gt; y ultimamente estoy involucrandome bastante con Node.js lo que me lleva a tener que prepararme mas aun en javascript y este post contiene la respuesta a una de mis grandes preguntas: Como puedo estructurar objetos globales usando Javascript+CoffeeScript+jQuery+ASP.NET MVC? y todo esto de manera orientada a objetos &amp;hellip;.uff para los que no conozcan estas tecnologias puede sonar mas complejo de lo que en realidad es. Encontre tres soluciones que se las presento a continuacion.&lt;/p&gt;
&lt;p align="justify"&gt;Primeramente mostrarles el contenido resumido del archivo index.cshtml, que basicamente contiene un boton y codigo jQuery, para capturar el evento click:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:7081082a-d6c1-49e8-96d6-b29d87c16d8a" 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:536px;height:321px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt; 1&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;    ViewBag.Title = &amp;quot;Home Page&amp;quot;;
&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:#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;h2&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;@ViewBag.Message&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;h2&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;p&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;    To learn more about ASP.NET MVC visit &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;a &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;href&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;http://asp.net/mvc&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; title&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;ASP.NET MVC Website&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;http://asp.net/mvc&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;a&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;br&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;input &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; id&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;btnDemo&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; value&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;Click me!&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:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;p&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:#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;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;13&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;14&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    $(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;#btnDemo&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;).click(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; () {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;15&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#008000;"&gt;//&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#008000;"&gt;Code here...&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;16&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#008000;"&gt;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;17&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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 contenido relevante del archivo _Layout.cshtml es el siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:3edcf48d-1571-4324-83c3-b56a7eb3d895" 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:526px;height:218px;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:#800000;"&gt;head&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;title&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;@ViewBag.Title&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;title&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;link &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;href&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;~/Content/Site.css&amp;quot;)&amp;quot; rel&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;stylesheet&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/css&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;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;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;~/Scripts/jquery-1.5.1.min.js&amp;quot;)&amp;quot; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;~/Scripts/tx/common1.js&amp;quot;)&amp;quot; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;~/Scripts/tx/common2.js&amp;quot;)&amp;quot; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;src&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;~/Scripts/tx/common3.js&amp;quot;)&amp;quot; type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;head&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;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Solucion 1&lt;/h2&gt;
&lt;p align="justify"&gt;Mi archivo common1.coffee es el siguiente, el &amp;ldquo;secreto&amp;rdquo; en esta solucion es el caracter de arroba (@) colocado por delante del nombre de la clase, esto &amp;ldquo;magicamente&amp;rdquo; logra el efecto de crear la clase GlobalMessage1 y asignarla al objeto this que gracias al closure de coffeescript es window, es decir aqui this == window.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:b0b7d5b1-65f1-4cf3-a136-48671477e1bc" 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:424px;height:118px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;class @GlobalMessage1
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;    say_hello: () &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;        alert &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Hello Method 1&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&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:#008080;"&gt;5&lt;/span&gt; &lt;span style="color:#000000;"&gt;class PrivateMessage1
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    say_nothing: ()&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;        alert &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;He utilizado una clase adicional llamada PrivateMessage1 para que puedan ver la diferencia con GlobalMessage1 al momento en que se genera el archivo javascript common1.js.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:8d9d85e3-1868-4fd8-ade2-68a242e6db2a" 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:424px;height:119px;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:#800000;"&gt;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    $(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;#btnDemo&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;).click(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; () {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;var&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; gm &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; GlobalMessage1();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;5&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        gm.say_hello();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;7&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;Solucion 2&lt;/h2&gt;
&lt;p align="justify"&gt;En esta solucion la idea es preparar las clases para estar dentro de namespaces, ficticios porque javascript no soporta el concepto de namespace. Pero gracias al &amp;ldquo;truco&amp;rdquo; utilizado, estoy simulando uno. Debo indicar que no considero recomendable tener mas de dos niveles en el namespace del framework que armen, basicamente porque resultaria bastante complicado e ilegible ir escribiendo todos los niveles, a continuacion el contenido del archivo common2.coffee:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:cb9c87f4-eb2c-4da2-8f71-70c14ef6047e" 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:477px;height:121px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;window[&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Framework1&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&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;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;#window[&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Framework1.Utilities&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&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;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;window[&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Framework1.GlobalMessage&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;&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;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;class Framework1.GlobalMessage
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="color:#000000;"&gt;    say_hello: () &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;        alert &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Hello Method 2&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;El contenido del archivo index.cshtml es el siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:56cd16c9-81b5-4ace-93d6-9551806929b6" 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:532px;height:137px;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:#800000;"&gt;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    $(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;#btnDemo&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;).click(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; () {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;var&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; gm &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; Framework1.GlobalMessage();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;5&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        gm.say_hello();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;7&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;Solucion 3&lt;/h2&gt;
&lt;p align="justify"&gt;Finalmente, encontre una solucion &amp;ldquo;mas adecuada&amp;rdquo; y que segun lo que lei es la que debe usarse cuando se utiliza Node.js, entonces aqui tenemos el codigo del archivo common3.coffee:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:9471dda8-6ef6-4873-917b-fa693de97d6f" 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:577px;height:131px;overflow:auto;"&gt;&lt;div&gt;&lt;span style="color:#008080;"&gt;1&lt;/span&gt; &lt;span style="color:#000000;"&gt;root &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; exports &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;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="color:#000000;"&gt;root.Framework2 &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;3&lt;/span&gt; &lt;span style="color:#000000;"&gt;    Utilities: {}
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="color:#000000;"&gt;    GlobalMessage: {}
&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;class Framework2.GlobalMessage
&lt;/span&gt;&lt;span style="color:#008080;"&gt;7&lt;/span&gt; &lt;span style="color:#000000;"&gt;    say_hello: () &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;        alert &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;Hello Method 3&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;El contenido de archivo index.cshtml, es el siguiente:&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:e0ae6218-e38c-4240-932e-8239dc33b982" 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:577px;height:130px;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:#800000;"&gt;script &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;2&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#008080;"&gt;3&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    $(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;#btnDemo&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;).click(&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; () {
&lt;/span&gt;&lt;span style="color:#008080;"&gt;4&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;var&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; gm &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="background-color:#F5F5F5;color:#000000;"&gt; Framework2.GlobalMessage();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;5&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;        gm.say_hello();
&lt;/span&gt;&lt;span style="color:#008080;"&gt;6&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;    });
&lt;/span&gt;&lt;span style="color:#008080;"&gt;7&lt;/span&gt; &lt;span style="background-color:#F5F5F5;color:#000000;"&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&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;Si alguno tiene algun comentario u observacion a este codigo es mas que bienvenido, muchas gracias. &lt;/p&gt;
&lt;p align="justify"&gt;Aqui el archivo comprimido de la solucion:&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" marginwidth="0" width="98" frameborder="0" src="https://skydrive.live.com/embed?cid=E46B27F9DBBD40A1&amp;amp;resid=E46B27F9DBBD40A1%21442&amp;amp;authkey=ACSuSWppfQrnYvA" marginheight="0" height="120" title="Preview" style="padding-bottom:0px;background-color:#fcfcfc;padding-left:0px;padding-right:0px;padding-top:0px;"&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=203915" 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><category domain="http://geeks.ms/blogs/eortuno/archive/tags/CoffeeScript/default.aspx">CoffeeScript</category><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Javascript/default.aspx">Javascript</category></item><item><title>Error con Windows Phone &amp; Microsoft Expression Blend</title><link>http://geeks.ms/blogs/eortuno/archive/2012/03/16/error-con-windows-phone-amp-microsoft-blend-studio.aspx</link><pubDate>Fri, 16 Mar 2012 04:20:54 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203855</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=203855</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/eortuno/commentapi.aspx?PostID=203855</wfw:comment><comments>http://geeks.ms/blogs/eortuno/archive/2012/03/16/error-con-windows-phone-amp-microsoft-blend-studio.aspx#comments</comments><description>&lt;p&gt;Cuando creo un proyecto Windows Phone en Expression Blend, me aparece un error por demas inexplicable:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;The specified solution configuration &amp;quot;Debug|MCD&amp;quot; is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform=&amp;quot;Any CPU&amp;quot;) or leave those properties blank to use the default solution configuration&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Una solucion mas que escurridiza:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The only solution I found within a few hours scrapes between forums and knowledge base of Microsoft. It is as simple as opening the registry editor (Win + R and then enter Regedit) and there find the path to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment and once there, delete the PLATFORM variable. After this, close the registry editor and restart the machine.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/2012_2D00_03_2D00_15_5F00_222642_5F00_5BE9468B.png"&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="2012-03-15_222642" border="0" alt="2012-03-15_222642" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/eortuno/2012_2D00_03_2D00_15_5F00_222642_5F00_thumb_5F00_2898D356.png" width="530" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si alguien conoce la causa, sera bienvenida la explicacion.&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=203855" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/eortuno/archive/tags/Windows+Phone/default.aspx">Windows Phone</category></item><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></channel></rss>
