<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.netindonesia.net/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>Across Boundaries - ( Cipto )</title><link>http://geeks.netindonesia.net/blogs/cipto/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>my new blog</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx</link><pubDate>Wed, 17 Apr 2013 03:07:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:194752</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=194752</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;http://ciptothe.wordpress.com/&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx&amp;amp;subject=my new blog" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx&amp;amp;t=my+new+blog" target="_blank" title="Submit my new blog to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx&amp;amp;title=my+new+blog" target="_blank" title="Submit my new blog to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx&amp;amp;phase=2" target="_blank" title="Submit my new blog to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/04/17/my-new-blog.aspx&amp;amp;title=my+new+blog" target="_blank" title="Add my new blog to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=194752" width="1" height="1"&gt;</description></item><item><title>Another IE8 and jquery validation bug</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx</link><pubDate>Fri, 08 Mar 2013 09:44:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:194736</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=194736</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx#comments</comments><description>&lt;p&gt;I have another unique experience with IE again.apparently so much user still using it.&lt;/p&gt;&lt;p&gt;this time it has to do with IE8 and jquery Validation.&lt;/p&gt;&lt;p&gt;the on default from &lt;b&gt;asp.net MVC&lt;/b&gt; is &lt;b&gt;jquery validation 1.8.0&lt;/b&gt;, which &lt;b&gt;does not work on IE8&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;after trying to upgrade everything to the latest:&lt;/p&gt;&lt;p&gt;Jquery 1.9, jquery validation 1.11 &lt;/p&gt;&lt;p&gt;based on the &lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;CDN&lt;/a&gt; and then use jquery Migration so that other plugin does not work.&lt;/p&gt;&lt;p&gt;I finally got it working by just using my current jquery 1.8.2 with increasing jquery validation to 1.8.1&lt;/p&gt;&lt;p&gt;fixed other bug related to kendo autocomplete.&lt;/p&gt;&lt;p&gt;and then another thing is when it&amp;#39;s &lt;u&gt;&lt;b&gt;HTTPS&lt;/b&gt;&lt;/u&gt;, you have to make sure all your&lt;u&gt;&lt;b&gt; external URL also using HTTPS&lt;/b&gt;&lt;/u&gt; (you will receive an error message such as &amp;quot;HTTPs compromised [URL]&amp;quot;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;so that it works on IE&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx&amp;amp;subject=Another IE8 and jquery validation bug" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx&amp;amp;t=Another+IE8+and+jquery+validation+bug" target="_blank" title="Submit Another IE8 and jquery validation bug to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx&amp;amp;title=Another+IE8+and+jquery+validation+bug" target="_blank" title="Submit Another IE8 and jquery validation bug to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx&amp;amp;phase=2" target="_blank" title="Submit Another IE8 and jquery validation bug to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/03/08/another-ie8-and-jquery-validation-bug.aspx&amp;amp;title=Another+IE8+and+jquery+validation+bug" target="_blank" title="Add Another IE8 and jquery validation bug to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=194736" width="1" height="1"&gt;</description></item><item><title>Localization in Asp.Net MVC Jquery Validation</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx</link><pubDate>Fri, 11 Jan 2013 06:36:47 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:194697</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=194697</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;One day I encounter this issue, A DatePicker when submit is clicked will display that &lt;strong&gt;FIELD IS NOT A DATE&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;what could be wrong? well this whole thing is related to how date is parsed, for jquery validation which is the core Unobstrusive client side validation for ASP.NET MVC, the default Date Parsing may not be supporting Format that you entered&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I have set my Kendo to en-AU culture, than how to set the jquery validation to understand this date format?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;the answer is jquery global and then we override the way the jquery validation works&lt;/font&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;font size="3"&gt;&lt;span class="rem"&gt;//Include what&amp;#39;s needed&lt;/span&gt;
&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;~/Scripts/globalize.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;~/Scripts/cultures/globalize.culture.en-AU.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;

$(&lt;span class="kwrd"&gt;function&lt;/span&gt; () {
    kendo.culture(&lt;span class="str"&gt;&amp;quot;en-AU&amp;quot;&lt;/span&gt;);
    Globalize.culture(&lt;span class="str"&gt;&amp;#39;en-AU&amp;#39;&lt;/span&gt;);

    $.validator.methods.date = &lt;span class="kwrd"&gt;function&lt;/span&gt; (value, element) {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (value == &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt; || !isNaN(Globalize.parseDate(value))) {
            &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
        }
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
    };
});


&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model"&gt;&lt;font size="3"&gt;Related Article&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx&amp;amp;subject=Localization in Asp.Net MVC Jquery Validation" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx&amp;amp;t=Localization+in+Asp.Net+MVC+Jquery+Validation" target="_blank" title="Submit Localization in Asp.Net MVC Jquery Validation to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx&amp;amp;title=Localization+in+Asp.Net+MVC+Jquery+Validation" target="_blank" title="Submit Localization in Asp.Net MVC Jquery Validation to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx&amp;amp;phase=2" target="_blank" title="Submit Localization in Asp.Net MVC Jquery Validation to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2013/01/11/localization-in-asp-net-mvc-jquery-validation.aspx&amp;amp;title=Localization+in+Asp.Net+MVC+Jquery+Validation" target="_blank" title="Add Localization in Asp.Net MVC Jquery Validation to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=194697" width="1" height="1"&gt;</description></item><item><title>Generic EditorTemplate Asp.net MVC</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx</link><pubDate>Tue, 11 Dec 2012 04:14:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193665</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193665</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;I’ve got a case to create a generic HTML Editor, which I can reuse across the page.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;EditorTemplate which comes with MVC sounds the person who can do the job.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;if you specify a string name after @HTML.EditorFor(Lambda,”EditorName”) &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;it will search on &lt;/font&gt;&lt;font size="3"&gt;View/Shared/EditorTemplates/xxx.cshtml path&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;How do you make it generic? simple use lambda that refer to it self&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;this way it will generate the name correctly&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;ex in your cshtml editor template:&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;@model string
@Html.Kendo().EditorFor(&lt;b&gt;m=&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;m&lt;/b&gt;).Tools(c =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; c.Styles(e =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; { e.Add(&amp;quot;Calibry&amp;quot;, &amp;quot;calibry&amp;quot;); })).StyleSheets(c =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; { c.Add(&amp;quot;/Content/Site.css&amp;quot;); }).HtmlAttributes(new Dictionary&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;, &lt;span class="attr"&gt;object&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;() { { &amp;quot;style&amp;quot;, &amp;quot;width:100%&amp;quot; } })&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="helve" size="3"&gt;To use it at any View page&lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;font face="helve" size="3"&gt;ex:&lt;/font&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;     @Html.EditorFor(model =&amp;gt; model.Description,&lt;span class="str"&gt;&amp;quot;MyEditor&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx&amp;amp;subject=Generic EditorTemplate Asp.net MVC" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx&amp;amp;t=Generic+EditorTemplate+Asp.net+MVC" target="_blank" title="Submit Generic EditorTemplate Asp.net MVC to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx&amp;amp;title=Generic+EditorTemplate+Asp.net+MVC" target="_blank" title="Submit Generic EditorTemplate Asp.net MVC to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx&amp;amp;phase=2" target="_blank" title="Submit Generic EditorTemplate Asp.net MVC to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/generic-editortemplate-asp-net-mvc.aspx&amp;amp;title=Generic+EditorTemplate+Asp.net+MVC" target="_blank" title="Add Generic EditorTemplate Asp.net MVC to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193665" width="1" height="1"&gt;</description></item><item><title>Structuring Project using Require JS on Multiple Page Environment</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx</link><pubDate>Tue, 11 Dec 2012 04:07:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193664</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193664</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;I understand the drive for single app these days. but in this case it’s &lt;b&gt;multiple page&lt;/b&gt;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I am using Asp.Net MVC,&lt;/font&gt;&lt;font size="3"&gt;How do we possibly structure the JavaScript files related to require.js &lt;/font&gt;&lt;font size="3"&gt;while you are on multiple pages environment?.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;After playing around what I did are:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;1. Structure my Javascript files into folder, I follow the default main.js as the main configuration for each package&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://netindonesia.net/blogs/cipto/image_5C7CF0A8.png"&gt;&lt;img src="http://netindonesia.net/blogs/cipto/image_thumb_5AD14636.png" title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" alt="image" border="0" height="244" width="187" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;2. use Packages, Register packages at Root Layout&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;_Layout.cshtml (Master page)&lt;/font&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="rem"&gt;//before require is called&lt;/span&gt;
        &lt;span class="rem"&gt;//can set dependency module&lt;/span&gt;
        &lt;span class="rem"&gt;//I use this as What are required by global pages in this project context&lt;/span&gt;
        &lt;span class="kwrd"&gt;var&lt;/span&gt; require = {
            &lt;span class="rem"&gt;//shim: {&lt;/span&gt;
                       

            &lt;span class="rem"&gt;//},&lt;/span&gt;
            deps: [&lt;span class="str"&gt;&amp;quot;jquery.easing.1.3.min&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;jquery.prettyPhoto.custom.min&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;froogaloop.min&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;video.min&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;jquery.videoController.min&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;jquery.advancedSlider.min&amp;quot;&lt;/span&gt;]
        };
     
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;data-main&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;scripts/main&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/scripts/require-jquery.js&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &amp;lt;script&amp;gt;
        &lt;span class="rem"&gt;//set configuration&lt;/span&gt;
        require.config({

            &lt;span class="rem"&gt;//define package, will execute main.js under respective package&lt;/span&gt;
            &lt;span class="str"&gt;&amp;quot;packages&amp;quot;&lt;/span&gt;: [&lt;span class="str"&gt;&amp;quot;Facebook&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Twitter&amp;quot;&lt;/span&gt;]
        });
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;3. On Client page told which package to load&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;View/Facebook/Index.Cshtml&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/cipto/image_2B144ED8.png"&gt;&lt;img src="http://netindonesia.net/blogs/cipto/image_thumb_59FB70FD.png" title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" alt="image" border="0" height="234" width="536" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://netindonesia.net/blogs/cipto/image_50C6E7CF.png"&gt;&lt;img src="http://netindonesia.net/blogs/cipto/image_thumb_69C548C5.png" title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" alt="image" border="0" height="252" width="538" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h6&gt;&lt;font size="3"&gt;4.Scripts/Facebook/main.js&lt;/font&gt;&lt;/h6&gt;

&lt;pre class="csharpcode"&gt;require([ &lt;span class="str"&gt;&amp;quot;knockout-2.2.0&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Facebook/FacebookViewModel&amp;quot;&lt;/span&gt;,&lt;span class="str"&gt;&amp;quot;domReady!&amp;quot;&lt;/span&gt;],
&lt;span class="kwrd"&gt;function&lt;/span&gt; (ko, FacebookViewModel) {
    debugger;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; viewModel = &lt;span class="kwrd"&gt;new&lt;/span&gt; FacebookViewModel();
    ko.applyBindings(viewModel);
    viewModel.LoadData();
});&lt;/pre&gt;

&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx&amp;amp;subject=Structuring Project using Require JS on Multiple Page Environment" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx&amp;amp;t=Structuring+Project+using+Require+JS+on+Multiple+Page+Environment" target="_blank" title="Submit Structuring Project using Require JS on Multiple Page Environment to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx&amp;amp;title=Structuring+Project+using+Require+JS+on+Multiple+Page+Environment" target="_blank" title="Submit Structuring Project using Require JS on Multiple Page Environment to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx&amp;amp;phase=2" target="_blank" title="Submit Structuring Project using Require JS on Multiple Page Environment to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/12/11/structuring-project-using-require-js-on-multiple-page-environment.aspx&amp;amp;title=Structuring+Project+using+Require+JS+on+Multiple+Page+Environment" target="_blank" title="Add Structuring Project using Require JS on Multiple Page Environment to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193664" width="1" height="1"&gt;</description></item><item><title>Scroll PullUp to Refresh, Hybrid Apps plugin</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx</link><pubDate>Thu, 29 Nov 2012 10:32:07 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193655</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193655</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;I came across this issue when building my simple news app,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I want it to behave like other apps, Pull down to refresh , Pull Up to refresh, so that when it reach bottom, I could append more news to either local storage or Sqllite&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I found that this plugin called &lt;/font&gt;&lt;a href="http://cubiq.org/iscroll-4"&gt;&lt;font size="3"&gt;ISCROL&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;L is very useful and it works on the simulator&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx&amp;amp;subject=Scroll PullUp to Refresh, Hybrid Apps plugin" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx&amp;amp;t=Scroll+PullUp+to+Refresh%2c+Hybrid+Apps+plugin" target="_blank" title="Submit Scroll PullUp to Refresh, Hybrid Apps plugin to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx&amp;amp;title=Scroll+PullUp+to+Refresh%2c+Hybrid+Apps+plugin" target="_blank" title="Submit Scroll PullUp to Refresh, Hybrid Apps plugin to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx&amp;amp;phase=2" target="_blank" title="Submit Scroll PullUp to Refresh, Hybrid Apps plugin to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/29/scroll-pullup-to-refresh-hybrid-apps-plugin.aspx&amp;amp;title=Scroll+PullUp+to+Refresh%2c+Hybrid+Apps+plugin" target="_blank" title="Add Scroll PullUp to Refresh, Hybrid Apps plugin to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193655" width="1" height="1"&gt;</description></item><item><title>New Things to Learn and Adapt</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx</link><pubDate>Mon, 26 Nov 2012 00:16:31 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193651</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193651</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Today I’ve got an hour or so to do some research a lot of things can be adapted , revisited and Implemented in real life website application&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;There are lots of things to Learn and see how useful it it to enhance our development cycle&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Website Based:&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://prototypejs.org/"&gt;&lt;font size="3"&gt;Prototype&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; for OOP JavaScript,, instead of verbose prototype programming ,JavaScript 1.5&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;Programmable CSS? think of &lt;/font&gt;&lt;a href="http://lesscss.org/"&gt;&lt;font size="3"&gt;LESS&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt; Or &lt;/font&gt;&lt;a href="http://sass-lang.com/"&gt;&lt;font size="3"&gt;SASS&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;, now CSS support inheritance and all that logic, remove redundancy&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;AMD JavaScript loading? use &lt;/font&gt;&lt;a href="http://requirejs.org"&gt;&lt;font size="3"&gt;REQUIRE.JS&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;#160; either dynamic or predefined JS, can set up a&amp;#160; dependency and in which order to load. this is really important and with all other combination, will keep your code clean, can use their optimizer to merge into 1 file also.&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3"&gt;.NET Based:     &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.lhotka.net/cslanet/"&gt;&lt;font size="3"&gt;CSLA.NET&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx&amp;amp;subject=New Things to Learn and Adapt" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx&amp;amp;t=New+Things+to+Learn+and+Adapt" target="_blank" title="Submit New Things to Learn and Adapt to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx&amp;amp;title=New+Things+to+Learn+and+Adapt" target="_blank" title="Submit New Things to Learn and Adapt to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx&amp;amp;phase=2" target="_blank" title="Submit New Things to Learn and Adapt to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/26/new-things-to-learn-and-adapt.aspx&amp;amp;title=New+Things+to+Learn+and+Adapt" target="_blank" title="Add New Things to Learn and Adapt to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193651" width="1" height="1"&gt;</description></item><item><title>Mobile Apps Authentication</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx</link><pubDate>Tue, 13 Nov 2012 10:51:19 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193637</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193637</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Mobile native apps, simply take another approach when related to authentication&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;as what the &lt;a href="http://my.safaribooksonline.com/book/programming/mobile/9780735671324"&gt;Architecting Mobile Solutions for the Enterprise&lt;/a&gt; saying it’s a “Log On and Forget Pattern”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;you logged In once , and never touch authentication again. it’s true your phone/tablet can be lost/stolen.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;best if the authorization generate an Access Token, which you can then put on your storage until user log out. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;a private &amp;amp; secure repository,&lt;/font&gt;&lt;font size="3"&gt;IOS have this which will sign the data with the application key, called keychain repository.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;for Android you have no choice but to encrypt it first&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;there has to be a services exposed, as this is another client which can be fully offline.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;the token could be using openID/OAuth .&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;we are help by the new asp.net web API, which is MVC based with all the RESTful template.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;a sample for using this &lt;a href="http://lbadri.wordpress.com/2012/09/13/simple-web-token-swt-as-oauth-2-0-bearer-token-for-asp-net-web-api/"&gt;token based with webAPI&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx&amp;amp;subject=Mobile Apps Authentication" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx&amp;amp;t=Mobile+Apps+Authentication" target="_blank" title="Submit Mobile Apps Authentication to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx&amp;amp;title=Mobile+Apps+Authentication" target="_blank" title="Submit Mobile Apps Authentication to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx&amp;amp;phase=2" target="_blank" title="Submit Mobile Apps Authentication to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/13/mobile-apps-authentication.aspx&amp;amp;title=Mobile+Apps+Authentication" target="_blank" title="Add Mobile Apps Authentication to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193637" width="1" height="1"&gt;</description></item><item><title>Have just finish a sample test of Hybrid App</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx</link><pubDate>Sat, 10 Nov 2012 11:23:58 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193634</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193634</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;By using Telerik Graphite , we can simulate and debug our application for hybrid apps,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;the results are more precise than Mist.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Telerik Graphite has it’s debugger which is almost similar to firebug,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;the other advantage by using Graphite is we don’t have to install SDK for each platform, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;run each simulator and debug one by one using each SDK.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;using JQM as the UI, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Knockout JS for the MVVM binding, &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Cordova for Native support,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Graphite to test and debug,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;BitBucket for Free GIT repository,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;JSFiddle/echo/jsonP to simulate ajax &amp;amp; data request.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Have just done testing for saving to localStorage, and SqlLite feature.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx&amp;amp;subject=Have just finish a sample test of Hybrid App" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx&amp;amp;t=Have+just+finish+a+sample+test+of+Hybrid+App" target="_blank" title="Submit Have just finish a sample test of Hybrid App to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx&amp;amp;title=Have+just+finish+a+sample+test+of+Hybrid+App" target="_blank" title="Submit Have just finish a sample test of Hybrid App to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx&amp;amp;phase=2" target="_blank" title="Submit Have just finish a sample test of Hybrid App to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/have-just-finish-a-sample-test-of-hybrid-app.aspx&amp;amp;title=Have+just+finish+a+sample+test+of+Hybrid+App" target="_blank" title="Add Have just finish a sample test of Hybrid App to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193634" width="1" height="1"&gt;</description></item><item><title>How to do a Clean Install of Windows 8</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx</link><pubDate>Sat, 10 Nov 2012 08:00:19 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193633</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193633</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Swayed by the upgrade price, I decided to try “windoz 8” . there I was&amp;#160; upgrading from 7 to 8. with a lot of belief everything will get better. after installing upgrade assistant, something is not right VS 2010 is not running, after trying to fix it , &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;it turns out I broke the whole system. now VS Crash, with error that is not resolved anywhere.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;“great this is just what I need. In middle of crunch Time “ mumbling.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Since my Ultra book does not have DVD Writer, which is another reason why technology does not help my life easier. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I tried to use USB Stick.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;after failing one time, give up, yesterday I manage to get it running&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;1. follow below tutorial, to create bootable USB.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/habibh/archive/2011/09/14/how-to-create-a-bootable-usb-flash-drive-to-install-windows-8-developer-preview.aspx" href="http://blogs.msdn.com/b/habibh/archive/2011/09/14/how-to-create-a-bootable-usb-flash-drive-to-install-windows-8-developer-preview.aspx"&gt;http://blogs.msdn.com/b/habibh/archive/2011/09/14/how-to-create-a-bootable-usb-flash-drive-to-install-windows-8-developer-preview.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;2. Copy Intel Rapid Storage Tech Latest Driver to a new folder inside the USB, I use the f6flpy-x64.zip for 64 bit usage. this way windows can detect your partition if you use SATA&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=21730" href="http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=21730"&gt;http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=21730&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;3. Choose and follow the instruction on screen&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;4. After you got in to the windows,Install all updates&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;font size="3"&gt;I’ve got problem with my hard drive before, it hang for 15 minutes than can run again, to solve this install Intel Rapid Storage from link above, this time choose the MSI one. after that install the SATA driver update from windows update. problem solved!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;If you complain about where is the Start Button,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;you have lots of 3rd party apps option, free/pay, that can bring it back.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I use Pokki for now&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx&amp;amp;subject=How to do a Clean Install of Windows 8" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx&amp;amp;t=How+to+do+a+Clean+Install+of+Windows+8" target="_blank" title="Submit How to do a Clean Install of Windows 8 to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx&amp;amp;title=How+to+do+a+Clean+Install+of+Windows+8" target="_blank" title="Submit How to do a Clean Install of Windows 8 to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx&amp;amp;phase=2" target="_blank" title="Submit How to do a Clean Install of Windows 8 to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/11/10/how-to-do-a-clean-install-of-windows-8.aspx&amp;amp;title=How+to+do+a+Clean+Install+of+Windows+8" target="_blank" title="Add How to do a Clean Install of Windows 8 to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193633" width="1" height="1"&gt;</description></item><item><title>Telerik Icenium, Samarin, and mobile authentication</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx</link><pubDate>Tue, 30 Oct 2012 10:53:00 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193613</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193613</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;It has been launched, and will give you a lot of features , saved in cloud. collaboration among team.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Deploy once, and all phones that are connected to your laptop will Sync automatically.&lt;/p&gt;&lt;p&gt;will give you a nice toolset of IDE to debug, it&amp;#39;s build on top of CORDOVA.&lt;/p&gt;&lt;p&gt;it can even run simulator under chrome browser &lt;br /&gt;&lt;/p&gt;&lt;p&gt;a nice tools to start with hybrid apps development and it&amp;#39;s free till may next year&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.icenium.com/"&gt;Icenium&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://icenium.com/community/blog/icenium-team-blog/2012/06/14/what-is-a-hybrid-mobile-app-"&gt;What are the difference between Mobile Website,Native Apps, and Hybrid Apps&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://phonegap.com/2012/03/19/phonegap-cordova-and-what%E2%80%99s-in-a-name/"&gt;Difference between Cordova and phonegap&lt;/a&gt;&lt;/p&gt;&lt;p&gt;After reading a while found a nice article, of the comparison, before we decided which one best&lt;/p&gt;&lt;p&gt;https://wmpblogs.com/Lists/Posts/Post.aspx?List=654eb724-68db-415f-95f6-eb86e975aca1&amp;amp;ID=139&amp;amp;Web=051a9dee-e97e-4716-adad-c3c4b2f62761&lt;/p&gt;&lt;p&gt;We also have other approach, which will compiled the code that we write in C# to Native apps, so no performance degrade and full access of devices functional &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;http://xamarin.com/monotouch&lt;/p&gt;&lt;p&gt;http://xamarin.com/monoforandroid &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Mobile Authentication strategy: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://developers.google.com/accounts/docs/MobileApps" target="_blank"&gt;https://developers.google.com/accounts/docs/MobileApps&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx&amp;amp;subject=Telerik Icenium, Samarin, and mobile authentication" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx&amp;amp;t=Telerik+Icenium%2c+Samarin%2c+and+mobile+authentication" target="_blank" title="Submit Telerik Icenium, Samarin, and mobile authentication to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx&amp;amp;title=Telerik+Icenium%2c+Samarin%2c+and+mobile+authentication" target="_blank" title="Submit Telerik Icenium, Samarin, and mobile authentication to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx&amp;amp;phase=2" target="_blank" title="Submit Telerik Icenium, Samarin, and mobile authentication to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/30/telerik-icenium.aspx&amp;amp;title=Telerik+Icenium%2c+Samarin%2c+and+mobile+authentication" target="_blank" title="Add Telerik Icenium, Samarin, and mobile authentication to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193613" width="1" height="1"&gt;</description></item><item><title>Interactive Map from images</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx</link><pubDate>Mon, 22 Oct 2012 10:00:03 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193596</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193596</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx#comments</comments><description>&lt;p&gt;I’ve got a case where no google map can be used, it’s a custom Map. the difficulty is how the hell do we highlight part of images? which the shape is complicated .&lt;/p&gt;  &lt;p&gt;No flash please.&lt;/p&gt;  &lt;p&gt;the answer is using HTML Image Map , Image map can defined area of clickable on your image&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.w3schools.com/tags/tag_map.asp"&gt;What is image map?&lt;/a&gt; , you have got 3 shape circle,shape,and polygon.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;first thing to do is to define a polygon shape, as my map shape fragment can only be accomplished with polygon shape. You can use Dreamweaver or any online tools, believe me better be desktop app one.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now how do you highlight it when hovered?&lt;/p&gt;  &lt;p&gt;this is where “maphighlight” comes to play, Download Latest &lt;a href="http://davidlynch.org/projects/maphilight/"&gt;here&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;on Href as usual you can told browser to execute javascript function instead&lt;/p&gt;  &lt;p&gt;href and target are useful attribute to use &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There you have it interactive Map :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update 23/10/2012:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Using Dreamweaver is the easiest tool ever for this&lt;/p&gt;  &lt;p&gt;If there is any image overlapped, by default any Shape comes first will be precedence&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx&amp;amp;subject=Interactive Map from images" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx&amp;amp;t=Interactive+Map+from+images" target="_blank" title="Submit Interactive Map from images to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx&amp;amp;title=Interactive+Map+from+images" target="_blank" title="Submit Interactive Map from images to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx&amp;amp;phase=2" target="_blank" title="Submit Interactive Map from images to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/22/interactive-map-from-images.aspx&amp;amp;title=Interactive+Map+from+images" target="_blank" title="Add Interactive Map from images to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193596" width="1" height="1"&gt;</description></item><item><title>T4 Template with Kendo UI</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx</link><pubDate>Mon, 15 Oct 2012 04:35:06 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193592</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193592</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx#comments</comments><description>&lt;p&gt;Here is an example of T4 Template that I change, so that it display kendo grid on index and use other controls&lt;/p&gt;  &lt;p&gt;the linqTosql also change accordingly so it works, like attaching to another datacontext, and than support for LoadWith under AllIncluding. treating all as unit work of datacontext.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;LinqToSqlScaffolding.Repository\Repository.cs.t4&lt;/strong&gt;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&amp;lt;#@ template language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt;  inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;EnvDTE&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output Extension=&lt;span class="str"&gt;&amp;quot;cs&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq.Expressions;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Configuration;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;((!&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(Model.ModelTypeNamespace)) &amp;amp;&amp;amp; (Model.ModelTypeNamespace != Model.RepositoryNamespace)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; &amp;lt;#= Model.ModelTypeNamespace #&amp;gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; &amp;lt;#= Model.RepositoryNamespace #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;{ &lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var modelType = (CodeType)Model.ModelType; &lt;/pre&gt;

  &lt;pre&gt;    var modelName = modelType.Name; &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var modelNamePlural = Model.ModelTypePluralized; &lt;/pre&gt;

  &lt;pre&gt;    var contextName = Model.DbContextType; &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var primaryKeyProperty = modelType.VisibleMembers().OfType&amp;lt;CodeProperty&amp;gt;().Single(x =&amp;gt; x.Name == Model.PrimaryKey);&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; &amp;lt;#= modelName #&amp;gt;Repository : I&amp;lt;#= modelName #&amp;gt;Repository&lt;/pre&gt;

  &lt;pre&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        SODataContext context = &lt;span class="kwrd"&gt;new&lt;/span&gt; SODataContext(ConfigurationManager.ConnectionStrings[&lt;span class="str"&gt;&amp;quot;RxDBConnection&amp;quot;&lt;/span&gt;].ConnectionString);&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; IQueryable&amp;lt;&amp;lt;#= modelName #&amp;gt;&amp;gt; All&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            get { &lt;span class="kwrd"&gt;return&lt;/span&gt; context.&amp;lt;#= modelNamePlural #&amp;gt;; }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; IQueryable&amp;lt;&amp;lt;#= modelName #&amp;gt;&amp;gt; AllIncluding(&lt;span class="kwrd"&gt;params&lt;/span&gt; Expression&amp;lt;Func&amp;lt;&amp;lt;#= modelName #&amp;gt;, &lt;span class="kwrd"&gt;object&lt;/span&gt;&amp;gt;&amp;gt;[] includeProperties)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            context.DeferredLoadingEnabled = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            DataLoadOptions dlo = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataLoadOptions();&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var item &lt;span class="kwrd"&gt;in&lt;/span&gt; includeProperties)&lt;/pre&gt;

  &lt;pre class="alt"&gt;            {&lt;/pre&gt;

  &lt;pre&gt;                dlo.LoadWith&amp;lt;&amp;lt;#= modelName #&amp;gt;&amp;gt;(item);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;            context.LoadOptions = dlo;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; context.&amp;lt;#= modelNamePlural #&amp;gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &amp;lt;#= modelName #&amp;gt; Find(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            var context = &lt;span class="kwrd"&gt;new&lt;/span&gt; SODataContext(ConfigurationManager.ConnectionStrings[&lt;span class="str"&gt;&amp;quot;RxDBConnection&amp;quot;&lt;/span&gt;].ConnectionString);&lt;/pre&gt;

  &lt;pre&gt;            context.DeferredLoadingEnabled = &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; context.&amp;lt;#= modelNamePlural #&amp;gt;.SingleOrDefault(x =&amp;gt; x.&amp;lt;#= Model.PrimaryKey #&amp;gt; == id);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; InsertOrUpdate(&amp;lt;#= modelName #&amp;gt; &amp;lt;#= modelName.ToLower() #&amp;gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&amp;lt;#= modelName.ToLower() #&amp;gt;.&amp;lt;#= Model.PrimaryKey #&amp;gt; == &lt;span class="kwrd"&gt;default&lt;/span&gt;(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt;)) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="rem"&gt;// New entity&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(primaryKeyProperty.Type.AsString == &lt;span class="str"&gt;&amp;quot;System.Guid&amp;quot;&lt;/span&gt;) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &amp;lt;#= modelName.ToLower() #&amp;gt;.&amp;lt;#= primaryKeyProperty.Name #&amp;gt; = Guid.NewGuid();&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                context.&amp;lt;#= modelNamePlural #&amp;gt;.InsertOnSubmit(&amp;lt;#= modelName.ToLower() #&amp;gt;);&lt;/pre&gt;

  &lt;pre&gt;            } &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="rem"&gt;// Existing entity&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                 var context = &lt;span class="kwrd"&gt;new&lt;/span&gt; SODataContext(ConfigurationManager.ConnectionStrings[&lt;span class="str"&gt;&amp;quot;RxDBConnection&amp;quot;&lt;/span&gt;].ConnectionString);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                context.&amp;lt;#= modelNamePlural #&amp;gt;.Attach(&amp;lt;#= modelName.ToLower() #&amp;gt;);&lt;/pre&gt;

  &lt;pre&gt;                context.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, &amp;lt;#= modelName.ToLower() #&amp;gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                context.SubmitChanges();&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Delete(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            var itemToDelete = Find(id);&lt;/pre&gt;

  &lt;pre class="alt"&gt;            context.&amp;lt;#= modelNamePlural #&amp;gt;.Attach(itemToDelete);&lt;/pre&gt;

  &lt;pre&gt;            context.&amp;lt;#= modelNamePlural #&amp;gt;.DeleteOnSubmit(itemToDelete);&lt;/pre&gt;

  &lt;pre class="alt"&gt;            context.SubmitChanges();&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Save()&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            context.SubmitChanges();&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;interface&lt;/span&gt; I&amp;lt;#= modelName #&amp;gt;Repository&lt;/pre&gt;

  &lt;pre class="alt"&gt;    {&lt;/pre&gt;

  &lt;pre&gt;        IQueryable&amp;lt;&amp;lt;#= modelName #&amp;gt;&amp;gt; All { get; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        IQueryable&amp;lt;&amp;lt;#= modelName #&amp;gt;&amp;gt; AllIncluding(&lt;span class="kwrd"&gt;params&lt;/span&gt; Expression&amp;lt;Func&amp;lt;&amp;lt;#= modelName #&amp;gt;, &lt;span class="kwrd"&gt;object&lt;/span&gt;&amp;gt;&amp;gt;[] includeProperties);&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;#= modelName #&amp;gt; Find(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;void&lt;/span&gt; InsertOrUpdate(&amp;lt;#= modelName #&amp;gt; &amp;lt;#= modelName.ToLower() #&amp;gt;);&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;void&lt;/span&gt; Delete(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;void&lt;/span&gt; Save();&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MvcScaffolding.Controller\ControllerWithRepository.cs.t4&lt;/strong&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&amp;lt;#@ template language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt;  inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output Extension=&lt;span class="str"&gt;&amp;quot;cs&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections.Generic&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Text.RegularExpressions&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;EnvDTE&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.Mvc;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; RX.Core;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Kendo.Mvc.UI;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Kendo.Mvc.Extensions;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(!&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(Model.ModelTypeNamespace)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; &amp;lt;#= Model.ModelTypeNamespace #&amp;gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;((!&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(Model.RepositoriesNamespace)) &amp;amp;&amp;amp; (Model.RepositoriesNamespace != Model.ModelTypeNamespace)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; &amp;lt;#= Model.RepositoriesNamespace #&amp;gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; RX.UI.Models;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Newtonsoft.Json;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; &amp;lt;#= Model.ControllerNamespace #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;{   &lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#  &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var modelType = (CodeType)Model.ModelType; &lt;/pre&gt;

  &lt;pre&gt;    var modelName = modelType.Name; &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var modelNamePlural = Model.ModelTypePluralized; &lt;/pre&gt;

  &lt;pre&gt;    var modelVariable = modelName.ToLower(); &lt;/pre&gt;

  &lt;pre class="alt"&gt;    var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;    var primaryKeyProperty = modelType.VisibleMembers().OfType&amp;lt;CodeProperty&amp;gt;().Single(x =&amp;gt; x.Name == Model.PrimaryKey);&lt;/pre&gt;

  &lt;pre class="alt"&gt;    var routingName = Regex.Replace(Model.ControllerName, &lt;span class="str"&gt;&amp;quot;Controller$&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, RegexOptions.IgnoreCase);&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    [AdminAuthorize]&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; &amp;lt;#= Model.ControllerName #&amp;gt; : Controller&lt;/pre&gt;

  &lt;pre class="alt"&gt;    {&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var repository &lt;span class="kwrd"&gt;in&lt;/span&gt; Repositories.Values) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; I&amp;lt;#= repository.RepositoryTypeName #&amp;gt; &amp;lt;#= repository.VariableName #&amp;gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// If you are using Dependency Injection, you can delete the following constructor&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &amp;lt;#= Model.ControllerName #&amp;gt;() : &lt;span class="kwrd"&gt;this&lt;/span&gt;(&amp;lt;#= String.Join(&lt;span class="str"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;, Repositories.Values.Select(x =&amp;gt; &lt;span class="str"&gt;&amp;quot;new &amp;quot;&lt;/span&gt; + x.RepositoryTypeName + &lt;span class="str"&gt;&amp;quot;()&amp;quot;&lt;/span&gt;)) #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &amp;lt;#= Model.ControllerName #&amp;gt;(&amp;lt;#= String.Join(&lt;span class="str"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;, Repositories.Values.Select(x =&amp;gt; &lt;span class="str"&gt;&amp;quot;I&amp;quot;&lt;/span&gt; + x.RepositoryTypeName + &lt;span class="str"&gt;&amp;quot; &amp;quot;&lt;/span&gt; + x.VariableName)) #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var repository &lt;span class="kwrd"&gt;in&lt;/span&gt; Repositories.Values) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.&amp;lt;#= repository.VariableName #&amp;gt; = &amp;lt;#= repository.VariableName #&amp;gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//grid with options passed ajax &lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult &amp;lt;#= modelName #&amp;gt;_Read([DataSourceRequest]DataSourceRequest request)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            var allentities=&amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.All;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            DataSourceResult result = allentities.ToDataSourceResult(request);&lt;/pre&gt;

  &lt;pre&gt;            JsonNetResult jsonNetResult = &lt;span class="kwrd"&gt;new&lt;/span&gt; JsonNetResult();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            jsonNetResult.Formatting = Formatting.Indented;&lt;/pre&gt;

  &lt;pre&gt;            jsonNetResult.Data = result;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; jsonNetResult;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;// GET: /&amp;lt;#= routingName #&amp;gt;/&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ViewResult Index()&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre&gt;    var propertiesToInclude = relatedEntities.Select(relation =&amp;gt; relation.LazyLoadingProperty).Where(x =&amp;gt; x != &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;    var includeExpression = String.Join(&lt;span class="str"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;, propertiesToInclude.Select(x =&amp;gt; String.Format(&lt;span class="str"&gt;&amp;quot;{0} =&amp;gt; {0}.{1}&amp;quot;&lt;/span&gt;, modelVariable, x.Name)));&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(includeBLOCKED EXPRESSION {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        includeExpression = &lt;span class="str"&gt;&amp;quot;Including(&amp;quot;&lt;/span&gt; + includeExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; View(&amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.All&amp;lt;#= includeExpression #&amp;gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// GET: /&amp;lt;#= routingName #&amp;gt;/Details/5&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ViewResult Details(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; View(&amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Find(id));&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// GET: /&amp;lt;#= routingName #&amp;gt;/Create&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Create()&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var relatedEntity &lt;span class="kwrd"&gt;in&lt;/span&gt; relatedEntities.Where(x =&amp;gt; x.RelationType == RelationType.Parent)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            ViewBag.Possible&amp;lt;#= relatedEntity.RelationNamePlural #&amp;gt; = &amp;lt;#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #&amp;gt;.All;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; View();&lt;/pre&gt;

  &lt;pre&gt;        } &lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;// POST: /&amp;lt;#= routingName #&amp;gt;/Create&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        [HttpPost]&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Create(&amp;lt;#= modelName #&amp;gt; &amp;lt;#= modelVariable #&amp;gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (ModelState.IsValid) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.InsertOrUpdate(&amp;lt;#= modelVariable #&amp;gt;);&lt;/pre&gt;

  &lt;pre&gt;                &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Save();&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; RedirectToAction(&lt;span class="str"&gt;&amp;quot;Index&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;            } &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var relatedEntity &lt;span class="kwrd"&gt;in&lt;/span&gt; relatedEntities.Where(x =&amp;gt; x.RelationType == RelationType.Parent)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;                ViewBag.Possible&amp;lt;#= relatedEntity.RelationNamePlural #&amp;gt; = &amp;lt;#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #&amp;gt;.All;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; View();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;// GET: /&amp;lt;#= routingName #&amp;gt;/Edit/5&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Edit(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var relatedEntity &lt;span class="kwrd"&gt;in&lt;/span&gt; relatedEntities.Where(x =&amp;gt; x.RelationType == RelationType.Parent)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;            ViewBag.Possible&amp;lt;#= relatedEntity.RelationNamePlural #&amp;gt; = &amp;lt;#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #&amp;gt;.All;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;             &lt;span class="kwrd"&gt;return&lt;/span&gt; View(&amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Find(id));&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// POST: /&amp;lt;#= routingName #&amp;gt;/Edit/5&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        [HttpPost]&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Edit(&amp;lt;#= modelName #&amp;gt; &amp;lt;#= modelVariable #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (ModelState.IsValid) {&lt;/pre&gt;

  &lt;pre&gt;                &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.InsertOrUpdate(&amp;lt;#= modelVariable #&amp;gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Save();&lt;/pre&gt;

  &lt;pre&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; RedirectToAction(&lt;span class="str"&gt;&amp;quot;Index&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;            } &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var relatedEntity &lt;span class="kwrd"&gt;in&lt;/span&gt; relatedEntities.Where(x =&amp;gt; x.RelationType == RelationType.Parent)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                ViewBag.Possible&amp;lt;#= relatedEntity.RelationNamePlural #&amp;gt; = &amp;lt;#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #&amp;gt;.All;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; View();&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// GET: /&amp;lt;#= routingName #&amp;gt;/Delete/5&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt; &lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Delete(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; View(&amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Find(id));&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="rem"&gt;//&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="rem"&gt;// POST: /&amp;lt;#= routingName #&amp;gt;/Delete/5&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        [HttpPost, ActionName(&lt;span class="str"&gt;&amp;quot;Delete&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult DeleteConfirmed(&amp;lt;#= primaryKeyProperty.Type.AsString #&amp;gt; id)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Delete(id);&lt;/pre&gt;

  &lt;pre&gt;            &amp;lt;#= Repositories[modelType.FullName].VariableName #&amp;gt;.Save();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; RedirectToAction(&lt;span class="str"&gt;&amp;quot;Index&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Dispose(&lt;span class="kwrd"&gt;bool&lt;/span&gt; disposing)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;   &lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;base&lt;/span&gt;.Dispose(disposing);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#+&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; RepositoryInfo {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; RepositoryTypeName { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; VariableName { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;IDictionary&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, RepositoryInfo&amp;gt; _repositories;&lt;/pre&gt;

  &lt;pre&gt;IDictionary&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;, RepositoryInfo&amp;gt; Repositories {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    get {&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_repositories == &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;            var relatedTypes = relatedEntities.Where(x =&amp;gt; x.RelationType == RelationType.Parent).Select(x =&amp;gt; x.RelatedEntityType).Distinct();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            _repositories = relatedTypes.ToDictionary(&lt;/pre&gt;

  &lt;pre&gt;                relatedType =&amp;gt; relatedType.FullName,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                relatedType =&amp;gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; RepositoryInfo { RepositoryTypeName = relatedType.Name + &lt;span class="str"&gt;&amp;quot;Repository&amp;quot;&lt;/span&gt;, VariableName = relatedType.Name.ToLower() + &lt;span class="str"&gt;&amp;quot;Repository&amp;quot;&lt;/span&gt; }&lt;/pre&gt;

  &lt;pre&gt;            ); &lt;/pre&gt;

  &lt;pre class="alt"&gt;            _repositories[((CodeType)Model.ModelType).FullName] = &lt;span class="kwrd"&gt;new&lt;/span&gt; RepositoryInfo { RepositoryTypeName = Model.Repository, VariableName = ((CodeType)Model.ModelType).Name.ToLower() + &lt;span class="str"&gt;&amp;quot;Repository&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; _repositories;&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;MvcScaffolding.RazorView\Index.cs.t4&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&amp;lt;#@ Template Language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; Inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output extension=&lt;span class="str"&gt;&amp;quot;cshtml&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Core&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Entity&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections.Generic&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Linq.Mapping&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Objects.DataClasses&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Reflection&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(viewDataType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;@model IEnumerable&amp;lt;&amp;lt;#= viewDataType.FullName #&amp;gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@{&lt;/pre&gt;

  &lt;pre class="alt"&gt;    ViewBag.Title = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.ViewName #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(Model.Layout)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    Layout = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.Layout #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;h2&amp;gt;&amp;lt;#= viewDataType.Name #&amp;gt;&amp;lt;/h2&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;p&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;    @Html.ActionLink(&lt;span class="str"&gt;&amp;quot;Create New&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Create&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;/p&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@(Html.Kendo().Grid&amp;lt;&amp;lt;#= viewDataType.FullName #&amp;gt;&amp;gt;()&lt;/pre&gt;

  &lt;pre class="alt"&gt;        .Name(&lt;span class="str"&gt;&amp;quot;Grid&amp;quot;&lt;/span&gt;).Filterable()&lt;/pre&gt;

  &lt;pre&gt;        .Columns(columns =&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt; columns.Template(@&amp;lt;text&amp;gt;&amp;lt;/text&amp;gt;).ClientTemplate(&lt;span class="str"&gt;&amp;quot;&amp;lt;a href=&amp;#39;&amp;quot;&lt;/span&gt; + Url.Action(&lt;span class="str"&gt;&amp;quot;Edit&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt;) + &lt;span class="str"&gt;&amp;quot;?id=#=&amp;lt;#= Model.PrimaryKeyName #&amp;gt;#&amp;#39;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt; columns.Template(@&amp;lt;text&amp;gt;&amp;lt;/text&amp;gt;).ClientTemplate(&lt;span class="str"&gt;&amp;quot;&amp;lt;a href=&amp;#39;&amp;quot;&lt;/span&gt; + Url.Action(&lt;span class="str"&gt;&amp;quot;Details&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt;) + &lt;span class="str"&gt;&amp;quot;?id=#=&amp;lt;#= Model.PrimaryKeyName #&amp;gt;#&amp;#39;&amp;gt;Details&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;columns.Template(@&amp;lt;text&amp;gt;&amp;lt;/text&amp;gt;).ClientTemplate(&lt;span class="str"&gt;&amp;quot;&amp;lt;a href=&amp;#39;&amp;quot;&lt;/span&gt; + Url.Action(&lt;span class="str"&gt;&amp;quot;Delete&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt;) + &lt;span class="str"&gt;&amp;quot;?id=#=&amp;lt;#= Model.PrimaryKeyName #&amp;gt;#&amp;#39;&amp;gt;Delete&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt; &lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }      &lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;        &lt;/pre&gt;

  &lt;pre class="alt"&gt;        &amp;lt;#  &lt;/pre&gt;

  &lt;pre&gt;List&amp;lt;ModelProperty&amp;gt; properties2 = GetModelProperties(Model.ViewDataType, &lt;span class="kwrd"&gt;true&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty property &lt;span class="kwrd"&gt;in&lt;/span&gt; properties2) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!property.IsPrimaryKey &amp;amp;&amp;amp; !property.IsForeignKey) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    columns.Bound(p =&amp;gt; p.&amp;lt;#= property.Name #&amp;gt;);&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;    &lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt; &lt;/pre&gt;

  &lt;pre&gt;        })&lt;/pre&gt;

  &lt;pre class="alt"&gt;        .DataSource(dataSource =&amp;gt; dataSource&lt;/pre&gt;

  &lt;pre&gt;            .Ajax() &lt;span class="rem"&gt;// Specify that the data source is of ajax type&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            .Read(read =&amp;gt; read.Action(&lt;span class="str"&gt;&amp;quot;&amp;lt;#= viewDataType.Name #&amp;gt;_Read&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;&amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt;)) &lt;span class="rem"&gt;// Specify the action method and controller name&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        )&lt;/pre&gt;

  &lt;pre class="alt"&gt;        .Pageable()&lt;/pre&gt;

  &lt;pre&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#+&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Describes the information about a property on the model&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ValueExpression { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EnvDTE.CodeTypeRef Type { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsPrimaryKey { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsForeignKey { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsReadOnly { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; Type[] bindableNonPrimitiveTypes = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(Guid),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTime),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTimeOffset),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(TimeSpan),&lt;/pre&gt;

  &lt;pre class="alt"&gt;};&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Call this to get the list of properties in the model. Change this to modify or add your&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// own default formatting for display values.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;List&amp;lt;ModelProperty&amp;gt; GetModelProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre&gt;    List&amp;lt;ModelProperty&amp;gt; results = GetEligibleProperties(typeInfo, includeUnbindableProperties);&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty prop &lt;span class="kwrd"&gt;in&lt;/span&gt; results) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt;() || prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;decimal&lt;/span&gt;&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:F}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;DateTime&amp;gt;()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:g}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsBindableType(prop.Type)) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = GetValueExpression(&lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include the names of properties that should be selected to represent an entity as a single string&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] displayPropertyNames = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;LastName&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Surname&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Subject&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Count&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; GetValueExpression(&lt;span class="kwrd"&gt;string&lt;/span&gt; propertyExpression, EnvDTE.CodeType propertyType) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;        var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (chosenSubproperty != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;            var toStringSuffix = chosenSubproperty.Type.AsFullName == &lt;span class="str"&gt;&amp;quot;System.String&amp;quot;&lt;/span&gt; ? &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt; : &lt;span class="str"&gt;&amp;quot;.ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; String.Format(&lt;span class="str"&gt;&amp;quot;({0} == null ? \&amp;quot;None\&amp;quot; : {0}.{1}{2})&amp;quot;&lt;/span&gt;, propertyExpression, chosenSubproperty.Name, toStringSuffix);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;Html.DisplayTextFor(_ =&amp;gt; &amp;quot;&lt;/span&gt; + propertyExpression + &lt;span class="str"&gt;&amp;quot;).ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;List&amp;lt;ModelProperty&amp;gt; GetEligibleProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    List&amp;lt;ModelProperty&amp;gt; results = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;ModelProperty&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (typeInfo != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var prop &lt;span class="kwrd"&gt;in&lt;/span&gt; typeInfo.VisibleMembers().OfType&amp;lt;EnvDTE.CodeProperty&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.IsReadable() &amp;amp;&amp;amp; !prop.HasIndexParameters() &amp;amp;&amp;amp; (includeUnbindableProperties || IsBindableType(prop.Type))) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                results.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre&gt;                    Name = prop.Name,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    ValueExpression = &lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    Type = prop.Type,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsPrimaryKey = Model.PrimaryKeyName == prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    IsForeignKey = ParentRelations.Any(x =&amp;gt; x.RelationProperty == prop),&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsReadOnly = !prop.IsWriteable()&lt;/pre&gt;

  &lt;pre&gt;                });&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;IEnumerable&amp;lt;RelatedEntityInfo&amp;gt; ParentRelations {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    get { &lt;span class="kwrd"&gt;return&lt;/span&gt; ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;().Where(x =&amp;gt; x.RelationType == RelationType.Parent); }&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; IsBindableType(EnvDTE.CodeTypeRef type) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x =&amp;gt; type.UnderlyingTypeIs(x));&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CreateOrEdit&lt;/strong&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&amp;lt;#@ Template Language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; Inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output extension=&lt;span class="str"&gt;&amp;quot;cshtml&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Core&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Entity&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections.Generic&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Linq.Mapping&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Objects.DataClasses&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Reflection&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(viewDataType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;@model &amp;lt;#= viewDataType.FullName #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@* This &lt;span class="kwrd"&gt;partial&lt;/span&gt; view defines form fields that will appear when creating and editing entities *@&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;editorcontainer span-16&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty property &lt;span class="kwrd"&gt;in&lt;/span&gt; GetModelProperties(Model.ViewDataType, &lt;span class="kwrd"&gt;false&lt;/span&gt;)) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!property.IsPrimaryKey &amp;amp;&amp;amp; !property.IsForeignKey &amp;amp;&amp;amp; !property.IsReadOnly) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;editor-label&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;    @Html.LabelFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;editor-field&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;).GetType().FullName) {&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.TextBoxFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; { @&lt;span class="kwrd"&gt;class&lt;/span&gt; = &lt;span class="str"&gt;&amp;quot;k-textbox&amp;quot;&lt;/span&gt;, placeholder = &lt;span class="str"&gt;&amp;quot;Enter &amp;lt;#= property.Name #&amp;gt;&amp;quot;&lt;/span&gt; })&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# }&lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt;(property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;).GetType().FullName||property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;double&lt;/span&gt;).GetType().FullName||property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt;).GetType().FullName||property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;?).GetType().FullName||property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;double&lt;/span&gt;?).GetType().FullName||property.Type.AsFullName==&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt;?).GetType().FullName) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;     @Html.Kendo().NumericTextBoxFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# }&lt;span class="kwrd"&gt;else&lt;/span&gt;{ #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.EditorFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.ValidationMessageFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (RelatedEntityInfo relation &lt;span class="kwrd"&gt;in&lt;/span&gt; ParentRelations) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;editor-label&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &amp;lt;#= relation.RelationName #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;editor-field&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;    @Html.DropDownListFor(model =&amp;gt; model.&amp;lt;#= relation.RelationProperty.Name #&amp;gt;, ((IEnumerable&amp;lt;&amp;lt;#= relation.RelatedEntityType.FullName #&amp;gt;&amp;gt;)ViewBag.Possible&amp;lt;#= relation.RelationNamePlural #&amp;gt;).Select(option =&amp;gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectListItem {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        Text = &amp;lt;#= GetValueExpression(&lt;span class="str"&gt;&amp;quot;option&amp;quot;&lt;/span&gt;, relation.RelatedEntityType) #&amp;gt;, &lt;/pre&gt;

  &lt;pre&gt;        Value = option.&amp;lt;#= relation.RelatedEntityPrimaryKeyName #&amp;gt;.ToString(),&lt;/pre&gt;

  &lt;pre class="alt"&gt;        Selected = (Model != &lt;span class="kwrd"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (option.&amp;lt;#= relation.RelatedEntityPrimaryKeyName #&amp;gt; == Model.&amp;lt;#= relation.RelationProperty.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;    }), &lt;span class="str"&gt;&amp;quot;Choose...&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.ValidationMessageFor(model =&amp;gt; model.&amp;lt;#= relation.RelationProperty.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#+&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Describes the information about a property on the model&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ValueExpression { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EnvDTE.CodeTypeRef Type { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsPrimaryKey { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsForeignKey { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsReadOnly { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; Type[] bindableNonPrimitiveTypes = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(Guid),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTime),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTimeOffset),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(TimeSpan),&lt;/pre&gt;

  &lt;pre class="alt"&gt;};&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Call this to get the list of properties in the model. Change this to modify or add your&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// own default formatting for display values.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;List&amp;lt;ModelProperty&amp;gt; GetModelProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre&gt;    List&amp;lt;ModelProperty&amp;gt; results = GetEligibleProperties(typeInfo, includeUnbindableProperties);&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty prop &lt;span class="kwrd"&gt;in&lt;/span&gt; results) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt;() || prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;decimal&lt;/span&gt;&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:F}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;DateTime&amp;gt;()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:g}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsBindableType(prop.Type)) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = GetValueExpression(&lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include the names of properties that should be selected to represent an entity as a single string&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] displayPropertyNames = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;LastName&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Surname&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Subject&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Count&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; GetValueExpression(&lt;span class="kwrd"&gt;string&lt;/span&gt; propertyExpression, EnvDTE.CodeType propertyType) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;        var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (chosenSubproperty != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;            var toStringSuffix = chosenSubproperty.Type.AsFullName == &lt;span class="str"&gt;&amp;quot;System.String&amp;quot;&lt;/span&gt; ? &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt; : &lt;span class="str"&gt;&amp;quot;.ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; String.Format(&lt;span class="str"&gt;&amp;quot;({0} == null ? \&amp;quot;None\&amp;quot; : {0}.{1}{2})&amp;quot;&lt;/span&gt;, propertyExpression, chosenSubproperty.Name, toStringSuffix);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;Html.DisplayTextFor(_ =&amp;gt; &amp;quot;&lt;/span&gt; + propertyExpression + &lt;span class="str"&gt;&amp;quot;).ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;List&amp;lt;ModelProperty&amp;gt; GetEligibleProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    List&amp;lt;ModelProperty&amp;gt; results = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;ModelProperty&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (typeInfo != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var prop &lt;span class="kwrd"&gt;in&lt;/span&gt; typeInfo.VisibleMembers().OfType&amp;lt;EnvDTE.CodeProperty&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.IsReadable() &amp;amp;&amp;amp; !prop.HasIndexParameters() &amp;amp;&amp;amp; (includeUnbindableProperties || IsBindableType(prop.Type))) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                results.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre&gt;                    Name = prop.Name,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    ValueExpression = &lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    Type = prop.Type,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsPrimaryKey = Model.PrimaryKeyName == prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    IsForeignKey = ParentRelations.Any(x =&amp;gt; x.RelationProperty == prop),&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsReadOnly = !prop.IsWriteable()&lt;/pre&gt;

  &lt;pre&gt;                });&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;IEnumerable&amp;lt;RelatedEntityInfo&amp;gt; ParentRelations {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    get { &lt;span class="kwrd"&gt;return&lt;/span&gt; ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;().Where(x =&amp;gt; x.RelationType == RelationType.Parent); }&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; IsBindableType(EnvDTE.CodeTypeRef type) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x =&amp;gt; type.UnderlyingTypeIs(x));&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create.cs.t4&lt;/strong&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&amp;lt;#@ Template Language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; Inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output extension=&lt;span class="str"&gt;&amp;quot;cshtml&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Core&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Entity&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections.Generic&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Linq.Mapping&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Objects.DataClasses&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Reflection&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(viewDataType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;@model &amp;lt;#= viewDataType.FullName #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@{&lt;/pre&gt;

  &lt;pre class="alt"&gt;    ViewBag.Title = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.ViewName #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(Model.Layout)) {&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    Layout = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.Layout #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;h2&amp;gt;&amp;lt;#= Model.ViewName #&amp;gt;&amp;lt;/h2&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(Model.ReferenceScriptLibraries) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;~/Scripts/jquery.validate.min.js&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;~/Scripts/jquery.validate.unobtrusive.min.js&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@&lt;span class="kwrd"&gt;using&lt;/span&gt; (Html.BeginForm()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.ValidationSummary(&lt;span class="kwrd"&gt;true&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        @Html.Partial(&lt;span class="str"&gt;&amp;quot;_CreateOrEdit&amp;quot;&lt;/span&gt;, Model)&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;/pre&gt;

  &lt;pre&gt;         &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;navigation k-block span-4 last&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &amp;lt;input &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;Save &amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;a href=&lt;span class="str"&gt;&amp;quot;BLOCKED SCRIPThistory.back();&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-icon k-i-arrowhead-w&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &amp;lt;/span&amp;gt;Back&amp;lt;/a&amp;gt; &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@Url.Action(&amp;quot;&lt;/span&gt;Index&lt;span class="str"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&amp;lt;#= viewDataType.Name #&amp;gt;&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;#= viewDataType.Name #&amp;gt; List&amp;lt;/a&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#+&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Describes the information about a property on the model&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ValueExpression { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EnvDTE.CodeTypeRef Type { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsPrimaryKey { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsForeignKey { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsReadOnly { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; Type[] bindableNonPrimitiveTypes = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(Guid),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTime),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTimeOffset),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(TimeSpan),&lt;/pre&gt;

  &lt;pre class="alt"&gt;};&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Call this to get the list of properties in the model. Change this to modify or add your&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// own default formatting for display values.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;List&amp;lt;ModelProperty&amp;gt; GetModelProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre&gt;    List&amp;lt;ModelProperty&amp;gt; results = GetEligibleProperties(typeInfo, includeUnbindableProperties);&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty prop &lt;span class="kwrd"&gt;in&lt;/span&gt; results) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt;() || prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;decimal&lt;/span&gt;&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:F}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;DateTime&amp;gt;()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:g}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsBindableType(prop.Type)) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = GetValueExpression(&lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Change this list to include the names of properties that should be selected to represent an entity as a single string&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] displayPropertyNames = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;LastName&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Surname&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Subject&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Count&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; GetValueExpression(&lt;span class="kwrd"&gt;string&lt;/span&gt; propertyExpression, EnvDTE.CodeType propertyType) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;        var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (chosenSubproperty != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;            var toStringSuffix = chosenSubproperty.Type.AsFullName == &lt;span class="str"&gt;&amp;quot;System.String&amp;quot;&lt;/span&gt; ? &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt; : &lt;span class="str"&gt;&amp;quot;.ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; String.Format(&lt;span class="str"&gt;&amp;quot;({0} == null ? \&amp;quot;None\&amp;quot; : {0}.{1}{2})&amp;quot;&lt;/span&gt;, propertyExpression, chosenSubproperty.Name, toStringSuffix);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;Html.DisplayTextFor(_ =&amp;gt; &amp;quot;&lt;/span&gt; + propertyExpression + &lt;span class="str"&gt;&amp;quot;).ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;List&amp;lt;ModelProperty&amp;gt; GetEligibleProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    List&amp;lt;ModelProperty&amp;gt; results = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;ModelProperty&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (typeInfo != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var prop &lt;span class="kwrd"&gt;in&lt;/span&gt; typeInfo.VisibleMembers().OfType&amp;lt;EnvDTE.CodeProperty&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.IsReadable() &amp;amp;&amp;amp; !prop.HasIndexParameters() &amp;amp;&amp;amp; (includeUnbindableProperties || IsBindableType(prop.Type))) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                results.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre&gt;                    Name = prop.Name,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    ValueExpression = &lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    Type = prop.Type,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsPrimaryKey = Model.PrimaryKeyName == prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    IsForeignKey = ParentRelations.Any(x =&amp;gt; x.RelationProperty == prop),&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsReadOnly = !prop.IsWriteable()&lt;/pre&gt;

  &lt;pre&gt;                });&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;IEnumerable&amp;lt;RelatedEntityInfo&amp;gt; ParentRelations {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    get { &lt;span class="kwrd"&gt;return&lt;/span&gt; ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;().Where(x =&amp;gt; x.RelationType == RelationType.Parent); }&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; IsBindableType(EnvDTE.CodeTypeRef type) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x =&amp;gt; type.UnderlyingTypeIs(x));&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;#&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Edit.cs.t4&lt;/strong&gt;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&amp;lt;#@ Template Language=&lt;span class="str"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; HostSpecific=&lt;span class="str"&gt;&amp;quot;True&amp;quot;&lt;/span&gt; Inherits=&lt;span class="str"&gt;&amp;quot;DynamicTransform&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ Output extension=&lt;span class="str"&gt;&amp;quot;cshtml&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Core&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Entity&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ assembly name=&lt;span class="str"&gt;&amp;quot;System.Data.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Collections.Generic&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.ComponentModel.DataAnnotations&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Linq.Mapping&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Data.Objects.DataClasses&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Linq&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;#@ import &lt;span class="kwrd"&gt;namespace&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;System.Reflection&amp;quot;&lt;/span&gt; #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(viewDataType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;@model &amp;lt;#= viewDataType.FullName #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@{&lt;/pre&gt;

  &lt;pre class="alt"&gt;    ViewBag.Title = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.ViewName #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(Model.Layout)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    Layout = &lt;span class="str"&gt;&amp;quot;&amp;lt;#= Model.Layout #&amp;gt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;h2&amp;gt;&amp;lt;#= Model.ViewName #&amp;gt;&amp;lt;/h2&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# &lt;span class="kwrd"&gt;if&lt;/span&gt;(Model.ReferenceScriptLibraries) { #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;~/Scripts/jquery.validate.min.js&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;script src=&lt;span class="str"&gt;&amp;quot;@Url.Content(&amp;quot;&lt;/span&gt;~/Scripts/jquery.validate.unobtrusive.min.js&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;@&lt;span class="kwrd"&gt;using&lt;/span&gt; (Html.BeginForm()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    @Html.ValidationSummary(&lt;span class="kwrd"&gt;true&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;   &lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty property &lt;span class="kwrd"&gt;in&lt;/span&gt; GetModelProperties(viewDataType, &lt;span class="kwrd"&gt;false&lt;/span&gt;).Where(x =&amp;gt; x.IsPrimaryKey)) { #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        @Html.HiddenFor(model =&amp;gt; model.&amp;lt;#= property.Name #&amp;gt;)&lt;/pre&gt;

  &lt;pre&gt;&amp;lt;# } #&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        @Html.Partial(&lt;span class="str"&gt;&amp;quot;_CreateOrEdit&amp;quot;&lt;/span&gt;, Model)&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;       &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;navigation k-block span-4 last&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;input &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt; type=&lt;span class="str"&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;Save &amp;lt;#= viewDataType.Name #&amp;gt;&amp;quot;&lt;/span&gt; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &amp;lt;a href=&lt;span class="str"&gt;&amp;quot;BLOCKED SCRIPThistory.back();&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-icon k-i-arrowhead-w&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;        &amp;lt;/span&amp;gt;Back&amp;lt;/a&amp;gt; &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;k-button&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@Url.Action(&amp;quot;&lt;/span&gt;Index&lt;span class="str"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;&amp;lt;#= viewDataType.Name #&amp;gt;&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;#= viewDataType.Name #&amp;gt; List&amp;lt;/a&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;  &lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;lt;#+&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Describes the information about a property on the model&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ValueExpression { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; EnvDTE.CodeTypeRef Type { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsPrimaryKey { get; set; }&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsForeignKey { get; set; }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsReadOnly { get; set; }&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; Type[] bindableNonPrimitiveTypes = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;decimal&lt;/span&gt;),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(Guid),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTime),&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(DateTimeOffset),&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(TimeSpan),&lt;/pre&gt;

  &lt;pre&gt;};&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Call this to get the list of properties in the model. Change this to modify or add your&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// own default formatting for display values.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;List&amp;lt;ModelProperty&amp;gt; GetModelProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    List&amp;lt;ModelProperty&amp;gt; results = GetEligibleProperties(typeInfo, includeUnbindableProperties);&lt;/pre&gt;

  &lt;pre&gt;    &lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ModelProperty prop &lt;span class="kwrd"&gt;in&lt;/span&gt; results) {&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;double&lt;/span&gt;&amp;gt;() || prop.Type.UnderlyingTypeIs&amp;lt;&lt;span class="kwrd"&gt;decimal&lt;/span&gt;&amp;gt;()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:F}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.Type.UnderlyingTypeIs&amp;lt;DateTime&amp;gt;()) {&lt;/pre&gt;

  &lt;pre&gt;            prop.ValueExpression = &lt;span class="str"&gt;&amp;quot;String.Format(\&amp;quot;{0:g}\&amp;quot;, &amp;quot;&lt;/span&gt; + prop.ValueExpression + &lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsBindableType(prop.Type)) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            prop.ValueExpression = GetValueExpression(&lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Change this list to include the names of properties that should be selected to represent an entity as a single string&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] displayPropertyNames = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;Name&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;LastName&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Surname&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Subject&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Count&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; GetValueExpression(&lt;span class="kwrd"&gt;string&lt;/span&gt; propertyExpression, EnvDTE.CodeType propertyType) {&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (propertyType != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames);&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (chosenSubproperty != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            var toStringSuffix = chosenSubproperty.Type.AsFullName == &lt;span class="str"&gt;&amp;quot;System.String&amp;quot;&lt;/span&gt; ? &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt; : &lt;span class="str"&gt;&amp;quot;.ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; String.Format(&lt;span class="str"&gt;&amp;quot;({0} == null ? \&amp;quot;None\&amp;quot; : {0}.{1}{2})&amp;quot;&lt;/span&gt;, propertyExpression, chosenSubproperty.Name, toStringSuffix);&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;Html.DisplayTextFor(_ =&amp;gt; &amp;quot;&lt;/span&gt; + propertyExpression + &lt;span class="str"&gt;&amp;quot;).ToString()&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;List&amp;lt;ModelProperty&amp;gt; GetEligibleProperties(EnvDTE.CodeType typeInfo, &lt;span class="kwrd"&gt;bool&lt;/span&gt; includeUnbindableProperties) {&lt;/pre&gt;

  &lt;pre&gt;    List&amp;lt;ModelProperty&amp;gt; results = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;ModelProperty&amp;gt;();&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (typeInfo != &lt;span class="kwrd"&gt;null&lt;/span&gt;) {&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var prop &lt;span class="kwrd"&gt;in&lt;/span&gt; typeInfo.VisibleMembers().OfType&amp;lt;EnvDTE.CodeProperty&amp;gt;()) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (prop.IsReadable() &amp;amp;&amp;amp; !prop.HasIndexParameters() &amp;amp;&amp;amp; (includeUnbindableProperties || IsBindableType(prop.Type))) {&lt;/pre&gt;

  &lt;pre&gt;                results.Add(&lt;span class="kwrd"&gt;new&lt;/span&gt; ModelProperty {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    Name = prop.Name,&lt;/pre&gt;

  &lt;pre&gt;                    ValueExpression = &lt;span class="str"&gt;&amp;quot;Model.&amp;quot;&lt;/span&gt; + prop.Name,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    Type = prop.Type,&lt;/pre&gt;

  &lt;pre&gt;                    IsPrimaryKey = Model.PrimaryKeyName == prop.Name,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    IsForeignKey = ParentRelations.Any(x =&amp;gt; x.RelationProperty == prop),&lt;/pre&gt;

  &lt;pre&gt;                    IsReadOnly = !prop.IsWriteable()&lt;/pre&gt;

  &lt;pre class="alt"&gt;                });&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; results;&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;IEnumerable&amp;lt;RelatedEntityInfo&amp;gt; ParentRelations {&lt;/pre&gt;

  &lt;pre&gt;    get { &lt;span class="kwrd"&gt;return&lt;/span&gt; ((IEnumerable)Model.RelatedEntities).OfType&amp;lt;RelatedEntityInfo&amp;gt;().Where(x =&amp;gt; x.RelationType == RelationType.Parent); }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="rem"&gt;// Helper&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;bool&lt;/span&gt; IsBindableType(EnvDTE.CodeTypeRef type) {&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x =&amp;gt; type.UnderlyingTypeIs(x));&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre class="alt"&gt;#&amp;gt;&lt;/pre&gt;
&lt;/div&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, &amp;quot;Courier New&amp;quot;, courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx&amp;amp;subject=T4 Template with Kendo UI" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx&amp;amp;t=T4+Template+with+Kendo+UI" target="_blank" title="Submit T4 Template with Kendo UI to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx&amp;amp;title=T4+Template+with+Kendo+UI" target="_blank" title="Submit T4 Template with Kendo UI to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx&amp;amp;phase=2" target="_blank" title="Submit T4 Template with Kendo UI to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/t4-template-with-kendo-ui.aspx&amp;amp;title=T4+Template+with+Kendo+UI" target="_blank" title="Add T4 Template with Kendo UI to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193592" width="1" height="1"&gt;</description></item><item><title>CSS 3 and html 5 support vs 2010</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx</link><pubDate>Mon, 15 Oct 2012 04:23:38 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193591</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193591</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx#comments</comments><description>&lt;p&gt;&lt;a title="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83" href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83"&gt;http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83&lt;/a&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx&amp;amp;subject=CSS 3 and html 5 support vs 2010" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx&amp;amp;t=CSS+3+and+html+5+support+vs+2010" target="_blank" title="Submit CSS 3 and html 5 support vs 2010 to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx&amp;amp;title=CSS+3+and+html+5+support+vs+2010" target="_blank" title="Submit CSS 3 and html 5 support vs 2010 to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx&amp;amp;phase=2" target="_blank" title="Submit CSS 3 and html 5 support vs 2010 to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/10/15/css-3-and-html-5-support-vs-2010.aspx&amp;amp;title=CSS+3+and+html+5+support+vs+2010" target="_blank" title="Add CSS 3 and html 5 support vs 2010 to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193591" width="1" height="1"&gt;</description></item><item><title>MVCScaffolding</title><link>http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx</link><pubDate>Thu, 20 Sep 2012 06:15:50 GMT</pubDate><guid isPermaLink="false">5cc3a90d-ac9a-472a-8983-30514957434c:193564</guid><dc:creator>cipto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.netindonesia.net/blogs/cipto/rsscomments.aspx?PostID=193564</wfw:commentRss><comments>http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;Alright so I’ve got a case, Need CRUD CMS, with uploading images.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;have survey out N2 and Orchard. Orchard sounds potential, but you build your web app in Orchard. so it’s a Rapid CMS type, instead of CRUD.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;if CRUD is what you need as base, switch to &lt;/font&gt;&lt;a href="http://blog.stevensanderson.com/2011/01/13/mvcscaffolding-standard-usage/"&gt;&lt;font size="3"&gt;&lt;strong&gt;MvcScaffolding&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;. &lt;font size="3"&gt;Ideally is with CodeSmith, it even has that generator with Kendo UI as the widget. too bad I don’t have the latest version.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;In my Case I’ve got existing linqtosql. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;how to change the default?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;1. Install LinqtoSqlScaffolding through Nuget, &lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;Install-Package LinqToSqlScaffolding&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="3"&gt;2.change the default repository generator&lt;/font&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre&gt;Set-DefaultScaffolder Repository LinqToSqlScaffolding.Repository&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="3"&gt;3. Always use with –Repository option&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Now here comes the biggest power, you can &lt;a href="http://blog.stevensanderson.com/2011/04/06/mvcscaffolding-overriding-the-t4-templates/"&gt;override the default T4 templates&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;I want to change 2 templates, controller and repository. because it needs to reference a namespace and change on lot of spots, including the wrong line generated&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;the command are:&lt;/font&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;font size="3"&gt;Scaffold CustomTemplate repository repository&lt;/font&gt;&lt;/p&gt;

  &lt;p&gt;&lt;font size="3"&gt;&lt;font size="3"&gt;Scaffold CustomTemplate Controller ControllerWithRepository&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;font size="3"&gt;This will create files on your project root. it’s under CodeTemplates\Scaffolders folder.change as you like and make sure you get use the T4 template command binding&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;You can use the command line to generate things, and also the UI&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;an example would be:&amp;#160; &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;Scaffold Controller AddressController -Repository -Area Admin -DbContextType SODataContext -Force&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;NB: Use the command line on package manager console, it works better with no error, and doesn’t have that out of memory exception&lt;/font&gt;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post: &lt;/strong&gt;&lt;a href="mailto:?body=Thought you might like this: http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx&amp;amp;subject=MVCScaffolding" target="_blank" title="Send via email"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Mail.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.facebook.com/sharer.php?u=http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx&amp;amp;t=MVCScaffolding" target="_blank" title="Submit MVCScaffolding to DotNetKicks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Facebook.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://del.icio.us/post?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx&amp;amp;title=MVCScaffolding" target="_blank" title="Submit MVCScaffolding to del.icio.us"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Delicious.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="http://www.digg.com/submit?url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx&amp;amp;phase=2" target="_blank" title="Submit MVCScaffolding to digg.com"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Digg.16.gif" border="0"&gt;&lt;/a&gt; | &lt;a href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://geeks.netindonesia.net/blogs/cipto/archive/2012/09/20/mvcscaffolding.aspx&amp;amp;title=MVCScaffolding" target="_blank" title="Add MVCScaffolding to Live Bookmarks"&gt;&lt;img src="http://geeks.netindonesia.net/Images/Share.Live.16.gif" border="0"&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://geeks.netindonesia.net/aggbug.aspx?PostID=193564" width="1" height="1"&gt;</description></item></channel></rss>