<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>TFS Austin Agile SCM Talk</title>
        <link>http://geekswithblogs.net/BobHardister/Default.aspx</link>
        <description> Visual Studio ALM Team Foundation Server Practice</description>
        <language>en-US</language>
        <copyright>Bob Hardister</copyright>
        <managingEditor>bhardister@overwatch.textron.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>TFS Austin Agile SCM Talk</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/BobHardister/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Semantic Versioning</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In a discussion about software product versioning, the post on &lt;a href="http://semver.org/"&gt;&lt;font color="#0000ff"&gt;Semantic Versioning&lt;/font&gt;&lt;/a&gt; came up. I found the essay to reflect commonly recognized best practices. However, the value of the essay is in the concise and rigorous rules for incrementing version numbers.  &lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/152894.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx</guid>
            <pubDate>Wed, 08 May 2013 12:24:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/152894.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2013/05/08/semantic-versioning.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/152894.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Retain and Set Posted Checkbox Value in the MVC 4 Controller</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I believe this is a bug where only the checkbox value is not retained when passing the model from the view to a post method. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Model&lt;/strong&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; CoreField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;View&lt;/strong&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;@model List&amp;lt;Model&amp;gt;

@Html.CheckBoxFor(m =&amp;gt; m[i].CoreField, 
 &lt;span class="kwrd"&gt;new&lt;/span&gt; { @id = &lt;span class="str"&gt;"cbCoreField"&lt;/span&gt; + i })@Html.HiddenFor(m =&amp;gt; m[i].CoreField)
@Html.Hidden(&lt;span class="str"&gt;"fIsCore"&lt;/span&gt;, 
 &lt;span class="kwrd"&gt;null&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; { @id = &lt;span class="str"&gt;"hIsCore"&lt;/span&gt; + i }) 
&lt;span class="rem"&gt;//has to use separate list instead of model due to MVC bug&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Note the use of “fIsCore” as a separate list used to pass changes to the checkbox into the post method and the use of ModelState.SetModelValue to set the checkbox value for redisplay when the model is invalid (i.e. adding a row where the model validation rules for some other field has been violated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Controller Post Method&lt;/strong&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;[HttpPost]
        &lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Index(List&amp;lt;Model&amp;gt; model, List&amp;lt;&lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt; fIsCore)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(model == &lt;span class="kwrd"&gt;null&lt;/span&gt;))
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (ModelState.IsValid)
                {
                    &lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0;
                    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; item &lt;span class="kwrd"&gt;in&lt;/span&gt; model)
                    {
                        item.CoreField = fIsCore[i];
                        i++;

                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(item.ID == 0))
                        {
                            db.Entry(item).State = EntityState.Modified;
                        }
                        &lt;span class="kwrd"&gt;else&lt;/span&gt;
                        {
                            db.Model.Add(item);
                        }
                    }
                    db.SaveChanges();
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                {
                    &lt;span class="rem"&gt;//ModelState.Clear(); // not needed now&lt;/span&gt;
                    &lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0;
                    &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; item &lt;span class="kwrd"&gt;in&lt;/span&gt; model)
                    {
                        &lt;span class="kwrd"&gt;string&lt;/span&gt; key = &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"[{0}].CoreField"&lt;/span&gt;, i);
                        item.CoreField = fIsCore[i];
                        ModelState.SetModelValue(key, 
                            &lt;span class="kwrd"&gt;new&lt;/span&gt; ValueProviderResult(item.CoreField, 
                                &lt;span class="str"&gt;""&lt;/span&gt;,
                                CultureInfo.InvariantCulture));
                        i++;
                    }

                    &lt;span class="kwrd"&gt;return&lt;/span&gt; View(model);
                }
            }
            &lt;span class="kwrd"&gt;return&lt;/span&gt; RedirectToAction(&lt;span class="str"&gt;"Index"&lt;/span&gt;);
        }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/152378.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx</guid>
            <pubDate>Mon, 11 Mar 2013 15:27:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/152378.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2013/03/11/retain-and-set-posted-checkbox-value-in-the-mvc-4.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/152378.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Using the DIR command in the TFS 2010/12 Team Build Invoke Process Activity</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2013/03/05/using-the-dir-command-in-the-tfs-201012-team-build.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/03/05/using-the-dir-command-in-the-tfs-201012-team-build.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/03/05/using-the-dir-command-in-the-tfs-201012-team-build.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I found that using a loop activity to build up a filtered list clutters up the build report with repetitions of activities inside the loop. I could write a custom activity to create the list. However, rather than have to write and maintain code, it’s possible to use the DOS DIR command in the Invoke Process activity.&lt;/p&gt;  &lt;p&gt;First, because there is no dir.exe file, you must execute a windows shell. I used “cmd” as the FileName value.  &lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/bobhardister/WindowsLiveWriter/UsingtheDIRcommandintheTFS201012TeamBuil_6C38/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="https://gwb.blob.core.windows.net/bobhardister/WindowsLiveWriter/UsingtheDIRcommandintheTFS201012TeamBuil_6C38/image_thumb.png" width="244" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then in the Arguments value I use the shell /c switch followed by the DIR  command. It’s also possible to exclude file types from the list.&lt;/p&gt;  &lt;p&gt;String.Format("{0} ""{1}"" {2}",  "/c dir",  BinariesDirectory,  "/b  |findstr /vi "".zip""")&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/152326.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2013/03/05/using-the-dir-command-in-the-tfs-201012-team-build.aspx</guid>
            <pubDate>Tue, 05 Mar 2013 13:59:15 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/152326.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2013/03/05/using-the-dir-command-in-the-tfs-201012-team-build.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/152326.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Setting HTML.CheckBoxFor Values in MVC 4 View from Json return using jQuery Ajax Script</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2013/01/24/setting-html.checkboxfor-values-in-mvc-4-view-from-json-return.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/01/24/setting-html.checkboxfor-values-in-mvc-4-view-from-json-return.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/01/24/setting-html.checkboxfor-values-in-mvc-4-view-from-json-return.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I’m an MVC/jQuery noobie and this one really got my goat for while. The problem was handling the bit field in SQL Server which was treated as a checkbox field in MVC.&lt;/p&gt;  &lt;p&gt;Here’s how you can set a checkbox value based the the user’s selection from dropdown list on the same view:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Model&lt;/strong&gt;:&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Field_Ref_Name { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; } &lt;span class="rem"&gt;// the dropdown list &lt;/span&gt;
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; CoreField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; } &lt;span class="rem"&gt;// the checkbox&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Controller&lt;/strong&gt;:&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;font style="background-color: #ffffff" color="#000000"&gt;&lt;em&gt;From the Get ActionResult method to populate the dropdown list.&lt;/em&gt;&lt;/font&gt;  &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;font style="background-color: #ffff00"&gt;&lt;/font&gt;ViewBag.projectConditionWitRefFieldsDropdownList = 
                &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectList(refFieldList, selectedField);&lt;font style="background-color: #ffff00"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font style="background-color: #ffffff"&gt;&lt;em&gt;The JsonResult method called by the jQuery script in the view.&lt;/em&gt;&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; JsonResult GetFieldAttributes(&lt;span class="kwrd"&gt;string&lt;/span&gt; selectedField)
        {
            &lt;span class="kwrd"&gt;string&lt;/span&gt; a = selectedField;
            &lt;span class="kwrd"&gt;bool&lt;/span&gt; b = &lt;span class="kwrd"&gt;false&lt;/span&gt;;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(selectedField.Contains(&lt;span class="str"&gt;"some value"&lt;/span&gt;)))
            {
                b = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
            }
            
            &lt;span class="kwrd"&gt;var&lt;/span&gt; dataParms = &lt;span class="kwrd"&gt;new&lt;/span&gt; { aA = a, aB = b };
            &lt;span class="kwrd"&gt;return&lt;/span&gt; Json(dataParms, JsonRequestBehavior.AllowGet);
        }&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;View&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font style="background-color: #ffff00"&gt;&lt;font style="background-color: #ffffff"&gt;&lt;em&gt;The script, which gets the bool from the Json result and sets the checkbox. Note I had to use the “click” event to set the checkbox. All efforts to use some sort of checked true or false approach failed&lt;/em&gt;.&lt;/font&gt;&lt;/font&gt;&lt;font style="background-color: #ffffff"&gt; The trick is the conditional logic of the data.aB boolean return value.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;&amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;
     $(function() {
            $(&lt;span class="str"&gt;"#ddlField"&lt;/span&gt;).change(function() {
                &lt;span class="kwrd"&gt;var&lt;/span&gt; selectedItem = $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).val();
                $.ajax({
                    cache: &lt;span class="kwrd"&gt;false&lt;/span&gt;,
                    type: &lt;span class="str"&gt;"GET"&lt;/span&gt;,
                    url: &lt;span class="str"&gt;"@(Url.Action("&lt;/span&gt;GetFieldAttributes&lt;span class="str"&gt;", "&lt;/span&gt;ConditionDetails&lt;span class="str"&gt;"))"&lt;/span&gt;,
                    data: { &lt;span class="str"&gt;"selectedField"&lt;/span&gt;: selectedItem},
                    success: function (data) {
                        $(&lt;span class="str"&gt;"#DataType"&lt;/span&gt;).val(data.aA);
                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (data.aB) {
                            &lt;span class="kwrd"&gt;var&lt;/span&gt; chk = $(&lt;span class="str"&gt;'#CoreField'&lt;/span&gt;).&lt;span class="kwrd"&gt;is&lt;/span&gt;(&lt;span class="str"&gt;':checked'&lt;/span&gt;);
                            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(chk)) {
                                $(&lt;span class="str"&gt;"#CoreField"&lt;/span&gt;).click();
                            }
                        }
                        &lt;span class="kwrd"&gt;else&lt;/span&gt; {
                            &lt;span class="kwrd"&gt;var&lt;/span&gt; chk = $(&lt;span class="str"&gt;'#CoreField'&lt;/span&gt;).&lt;span class="kwrd"&gt;is&lt;/span&gt;(&lt;span class="str"&gt;':checked'&lt;/span&gt;);
                            &lt;span class="kwrd"&gt;if&lt;/span&gt; (chk) {
                                $(&lt;span class="str"&gt;"#CoreField"&lt;/span&gt;).click();
                            }
                        }
                    },
                    error:function (xhr, ajaxOptions, thrownError){
                        alert(&lt;span class="str"&gt;'Failed to return core and type field attributes.'&lt;/span&gt;);

                    }  
                });
            });
        });
    &amp;lt;/script&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font style="background-color: #ffff00"&gt;&lt;font style="background-color: #ffffff"&gt;&lt;em&gt;From the razor code to display the page. &lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;

&lt;pre class="csharpcode"&gt;@&lt;span class="kwrd"&gt;using&lt;/span&gt; (Html.BeginForm()) 
        {
            @Html.ValidationSummary(&lt;span class="kwrd"&gt;true&lt;/span&gt;)

            &amp;lt;fieldset&amp;gt;
                &amp;lt;legend&amp;gt;Condition_Details&amp;lt;/legend&amp;gt;

                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-label"&lt;/span&gt;&amp;gt;
                    @Html.LabelFor(model =&amp;gt; model.Field_Ref_Name)
                &amp;lt;/div&amp;gt;
                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-field"&lt;/span&gt;&amp;gt;
                    @&lt;span class="kwrd"&gt;if&lt;/span&gt; (@ViewBag.projectFilterSelected)
                    {
                        @Html.DropDownListFor(model =&amp;gt; model.Field_Ref_Name, 
                        ViewBag.projectConditionWitRefFieldsDropdownList &lt;span class="kwrd"&gt;as&lt;/span&gt; SelectList, 
                            &lt;span class="kwrd"&gt;string&lt;/span&gt;.Empty, &lt;span class="kwrd"&gt;new&lt;/span&gt; { @id = &lt;span class="str"&gt;"ddlField"&lt;/span&gt;, style = &lt;span class="str"&gt;"font-size: .85em; font-weight: normal;"&lt;/span&gt; })
                    }
                    &lt;span class="kwrd"&gt;else&lt;/span&gt;
                    {
                        @Html.EditorFor(model =&amp;gt; model.Field_Ref_Name)
                    } 
                    @Html.ValidationMessageFor(model =&amp;gt; model.Field_Ref_Name)
                &amp;lt;/div&amp;gt;

                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-label"&lt;/span&gt;&amp;gt;
                    @Html.LabelFor(model =&amp;gt; model.DataType)
                &amp;lt;/div&amp;gt;
                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-field"&lt;/span&gt;&amp;gt;
                    @Html.EditorFor(model =&amp;gt; model.DataType)
                    @Html.ValidationMessageFor(model =&amp;gt; model.DataType)
                &amp;lt;/div&amp;gt;

                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-label"&lt;/span&gt;&amp;gt;
                    @Html.LabelFor(model =&amp;gt; model.CoreField)
                &amp;lt;/div&amp;gt;
                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"editor-field"&lt;/span&gt;&amp;gt;
                    @Html.CheckBoxFor(model =&amp;gt; model.CoreField)
                    @Html.ValidationMessageFor(model =&amp;gt; model.CoreField)
                &amp;lt;/div&amp;gt;

            &amp;lt;/fieldset&amp;gt;
        }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151925.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2013/01/24/setting-html.checkboxfor-values-in-mvc-4-view-from-json-return.aspx</guid>
            <pubDate>Thu, 24 Jan 2013 15:21:17 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151925.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2013/01/24/setting-html.checkboxfor-values-in-mvc-4-view-from-json-return.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151925.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MVC ModelState.IsValid Fails When Reserved Word Used for Table Name</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2013/01/02/mvc-modelstate.isvalid-fails-when-reserved-word-used-for-table-name.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2013/01/02/mvc-modelstate.isvalid-fails-when-reserved-word-used-for-table-name.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2013/01/02/mvc-modelstate.isvalid-fails-when-reserved-word-used-for-table-name.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;When a table name uses a reserved word: for example, “Action,” model validation will fail even though the model is valid. The error message from ModelState is: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;“The parameter conversion from type 'System.String' to… …type failed because no type converter can convert between these types.”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;For example, if a table named Action has a related table, Action_Details, where an Action may have one to many Action_Conditions, you may have a model class for Action_Details that looks like this:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Action_Details
    {
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; ID { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Action_ID { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Value { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ParentField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ChildField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; Nullable&amp;lt;&lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt; Inherit { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;virtual&lt;/span&gt; Action Action { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; } 
    }&lt;/pre&gt;

&lt;p&gt;My solution was to change the related table class&lt;/p&gt;

&lt;pre class="csharpcode"&gt;
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Action_Details
    {
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; ID { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; Action_ID { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; Value { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ParentField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; ChildField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="kwrd"&gt;public&lt;/span&gt; Nullable&amp;lt;&lt;span class="kwrd"&gt;bool&lt;/span&gt;&amp;gt; Inherit { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
        &lt;span class="rem"&gt;//public virtual Action Action { get; set; } &lt;/span&gt;
        &lt;span class="rem"&gt;// ** as "Action" is a reserved word, I had to use the &lt;/span&gt;
        &lt;span class="rem"&gt;// ** fully qualified class name (i.e. UI.Models.Action) &lt;/span&gt;
        &lt;span class="rem"&gt;// ** AND change the object name from Action to Action1&lt;/span&gt;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;virtual&lt;/span&gt; UI.Models.Action Action1 { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }
    }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151708.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2013/01/02/mvc-modelstate.isvalid-fails-when-reserved-word-used-for-table-name.aspx</guid>
            <pubDate>Wed, 02 Jan 2013 15:29:49 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151708.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2013/01/02/mvc-modelstate.isvalid-fails-when-reserved-word-used-for-table-name.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151708.aspx</wfw:commentRss>
        </item>
        <item>
            <title>LINQ (C#) Many to Many Query using Entity Framework</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2012/12/27/linq-c-many-to-many-query-using-entity-framework.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2012/12/27/linq-c-many-to-many-query-using-entity-framework.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2012/12/27/linq-c-many-to-many-query-using-entity-framework.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Using a MVC 4 Code First project I noticed that my intermediate table between a many to many relationship was missing. In other words, &lt;strong&gt;Table 1 has many Table 3&lt;/strong&gt;, and &lt;strong&gt;Table 3 has many Table 1&lt;/strong&gt;. In the database schema, Table 2 is my intermediate table: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Table 1 has many Table 2 and Table 2 has only one Table1&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Table 3 has many Table 2 and Table 2 has only one Table3,&lt;/strong&gt; as follows: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;img title="EF" style="border-top: 0px; border-right: 0px; border-bottom: 0px; margin-left: 0px; border-left: 0px; display: inline; margin-right: 0px" border="0" alt="EF" src="http://gwb.blob.core.windows.net/bobhardister/WindowsLiveWriter/LINQCManytoManyQueryusingEntityFramework_9245/EF_3.jpg" width="286" height="142" /&gt; &lt;/p&gt;  &lt;p&gt;However, as I stated earlier, I did not have a model class for Table 2.  At first I was miffed, but once I was able to craft the query, I was impressed at how easy EF made this.  I wanted to get a listing of Table 3 fields for a specific ProjectID (pID) in Table 1.  Here’s the query :)&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; Table3Qry = &lt;span class="kwrd"&gt;from&lt;/span&gt; t3 &lt;span class="kwrd"&gt;in&lt;/span&gt; db.Table3 
&lt;span class="kwrd"&gt;from&lt;/span&gt; t2 &lt;span class="kwrd"&gt;in&lt;/span&gt; t3.Table1.Where(x =&amp;gt; x.ProjectID == pID) 
select &lt;span class="kwrd"&gt;new&lt;/span&gt; { t3.foo1, t3.foo2, t3.foo3 };&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151652.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2012/12/27/linq-c-many-to-many-query-using-entity-framework.aspx</guid>
            <pubDate>Thu, 27 Dec 2012 16:44:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151652.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2012/12/27/linq-c-many-to-many-query-using-entity-framework.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151652.aspx</wfw:commentRss>
        </item>
        <item>
            <title>ASP.NET MVC 4 - My FAQs</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2012/12/21/asp.net-mvc-4---my-faqs.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2012/12/21/asp.net-mvc-4---my-faqs.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2012/12/21/asp.net-mvc-4---my-faqs.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here are some FAQs on things that were not so obvious. I’ll continue to add to this list over time.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Passing HtmlAttributes using @Html.ActionLink&lt;/strong&gt; &lt;/p&gt;  &lt;pre class="csharpcode"&gt;@Html.ActionLink(&lt;span class="str"&gt;"Create New"&lt;/span&gt;, &lt;span class="str"&gt;"Create"&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;, 
&lt;span class="kwrd"&gt;new&lt;/span&gt; { style=&lt;span class="str"&gt;"font-size: .75em; font-weight: normal; padding-left: 15px;"&lt;/span&gt; })&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;2. Html.EditFor with multiline and word wrap support&lt;/strong&gt;&lt;/p&gt;
Use the following data annotation in the model class: 

&lt;pre class="csharpcode"&gt;[DataType(DataType.MultilineText)]
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; TextField { &lt;span class="kwrd"&gt;get&lt;/span&gt;; &lt;span class="kwrd"&gt;set&lt;/span&gt;; }&lt;/pre&gt;
This requies the following using statement in the model class: 

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;/pre&gt;
Multi-line and word wrap is rendered in the view without any further changes in the controller and view. 

&lt;p&gt;&lt;strong&gt;3. Pass a variable when using return RedirectToAction&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; RedirectToAction(&lt;span class="str"&gt;"Index"&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; { foo = &lt;span class="str"&gt;"some value"&lt;/span&gt; });&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;4. Insert a row and link&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This was a frustrating problem that took me some time to resolve. However, the solution is very simple.&lt;/p&gt;

&lt;p&gt;See this &lt;a href="http://forums.asp.net/p/1870803/5255728.aspx/1?p=True&amp;amp;t=634925531410506013"&gt;posting&lt;/a&gt; on the ASP.NET MVC forum.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Attach existing many-to-many entities using LINQ in the post method&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;I couldn’t quickly find a simple guide to help me with these basic operations. &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;It took me a while to work out the solution.&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Attach(List&amp;lt;Class&amp;gt; classList, &lt;span class="kwrd"&gt;int&lt;/span&gt; studentID, &lt;span class="kwrd"&gt;string&lt;/span&gt; command)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (ModelState.IsValid)
            {
                &lt;span class="kwrd"&gt;int&lt;/span&gt; l = command.IndexOf(&lt;span class="str"&gt;" "&lt;/span&gt;);
                &lt;span class="kwrd"&gt;int&lt;/span&gt; clickedClassID = Int32.Parse(command.Substring(0, l));
                &lt;span class="kwrd"&gt;var&lt;/span&gt; condition = db.Conditions.Find(conditionID);

                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; &lt;span class="kwrd"&gt;in&lt;/span&gt; classList)
                {
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;class&lt;/span&gt;.ID == clickedClassID )
                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (command.Contains(&lt;span class="str"&gt;"Attach"&lt;/span&gt;))
                        {
                            &lt;span class="rem"&gt;//not sure why I needed to declare the following 2 variables, &lt;/span&gt;
			&lt;span class="rem"&gt;//but otherwise it didn't work&lt;/span&gt;

		&lt;span class="kwrd"&gt;var&lt;/span&gt; existingClass = db.Classes.SingleOrDefault(x =&amp;gt; x.ID == &lt;span class="kwrd"&gt;class&lt;/span&gt;.ID);
                  &lt;span class="kwrd"&gt;var&lt;/span&gt; existingStudent = db.Students.First(x =&amp;gt; x.ID == studentID);

                            existingClass.Students.Add(existingStudent);
                            db.Classes.Attach(existingClass);

                            db.Entry(existingClass).State = EntityState.Modified;
                            db.Entry(existingStudent).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                }
            }
            &lt;span class="kwrd"&gt;return&lt;/span&gt; View(db.Classes.ToList());
        }&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;6. Creating local variables in the view from the ViewBag for use in JQuery&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
  var someStringValue = '@(ViewBag.someStringValue)';
  var someNumericValue = @(ViewBag.someNumericValue);
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;7. Add a New Row to an Editable Index View&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;see Stackoverflow at: &lt;/p&gt;

&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/15249466/mvc-4-partialviewresult-return-partialview-calls-wrong-view-url"&gt;http://stackoverflow.com/questions/15249466/mvc-4-partialviewresult-return-partialview-calls-wrong-view-url&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151624.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2012/12/21/asp.net-mvc-4---my-faqs.aspx</guid>
            <pubDate>Fri, 21 Dec 2012 15:32:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151624.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2012/12/21/asp.net-mvc-4---my-faqs.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151624.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MVC4 Razor @Html.DropDownList with Entity Framework Code First</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2012/12/18/mvc4-razor-html.dropdownlist-with-entity-framework-code-first.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2012/12/18/mvc4-razor-html.dropdownlist-with-entity-framework-code-first.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2012/12/18/mvc4-razor-html.dropdownlist-with-entity-framework-code-first.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Controller&lt;/strong&gt;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;ViewData[&lt;span class="str"&gt;"Projects"&lt;/span&gt;] = &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectList(db.Projects.Select(r =&amp;gt; r.ProjectName));&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;strong&gt;View&lt;/strong&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;@Html.DropDownList(&lt;span class="str"&gt;"Projects"&lt;/span&gt;)&lt;/pre&gt;

&lt;p&gt;There were many complicated examples, but this worked for me. However, I needed to pull from a database and manipulate the data before populating the dropdown. Here’s what I ended up with: &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Controller&lt;/strong&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;//retrieve the list of projects from the projects table&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; ProjectQry = (&lt;span class="kwrd"&gt;from&lt;/span&gt; p &lt;span class="kwrd"&gt;in&lt;/span&gt; db.Projects orderby p.Project_Name
             select &lt;span class="kwrd"&gt;new&lt;/span&gt; { projectName = p.Project_Name, ID = p.ID }).ToList();

&lt;span class="rem"&gt;//format project name and ID into single field&lt;/span&gt;
&lt;span class="kwrd"&gt;var&lt;/span&gt; projectList = &lt;span class="kwrd"&gt;from&lt;/span&gt; p &lt;span class="kwrd"&gt;in&lt;/span&gt; ProjectQry 
             select &lt;span class="kwrd"&gt;new&lt;/span&gt; { project = p.projectName + &lt;span class="str"&gt;" ("&lt;/span&gt; + p.ID + &lt;span class="str"&gt;")"&lt;/span&gt; };
            

&lt;span class="rem"&gt;//send the list and return&lt;/span&gt;
ViewData[&lt;span class="str"&gt;"selection"&lt;/span&gt;] = &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectList(dropdownList.Select(i =&amp;gt; i.project), blankLine);
&lt;span class="kwrd"&gt;return&lt;/span&gt; View();&lt;/pre&gt;
&lt;strong&gt;View&lt;/strong&gt; 

&lt;pre class="csharpcode"&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;&lt;p&gt;&lt;span class="rem"&gt;//formats and inserts a blank line as the default in the list&lt;/span&gt;
@Html.DropDownList(&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;"selection"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;, &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;.Empty, &lt;/font&gt;&lt;/font&gt;&lt;p&gt;    &lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;&lt;font color="#0000ff" size="2" face="Consolas"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; { style = &lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;&lt;font color="#a31515" size="2" face="Consolas"&gt;"font-size: .85em; font-weight: normal;"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt; })&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2" face="Consolas"&gt;&lt;font size="2" face="Consolas"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151589.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2012/12/18/mvc4-razor-html.dropdownlist-with-entity-framework-code-first.aspx</guid>
            <pubDate>Tue, 18 Dec 2012 17:09:57 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151589.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2012/12/18/mvc4-razor-html.dropdownlist-with-entity-framework-code-first.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151589.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Entity Framework for Visual Studio 2012 Update 1: Reverse Engineer Bug and System.Data.Entity.Infrastructure</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2012/12/14/entity-framework-for-visual-studio-2012-update-1-reverse-engineer.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2012/12/14/entity-framework-for-visual-studio-2012-update-1-reverse-engineer.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2012/12/14/entity-framework-for-visual-studio-2012-update-1-reverse-engineer.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I had a couple of minor delays setting up Entity Framework in Visual Studio 2012 Update 1.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Reverse engineering the database failed with the following error: “A processor named 'T4VSHost' could not be found for the directive named 'CleanupBehavior'. The transformation will not be run.” &lt;/li&gt; &lt;/ol&gt;  &lt;blockquote&gt;   &lt;p&gt;The work around for C# projects is to: &lt;/p&gt;    &lt;p&gt;Open the File      &lt;br /&gt;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF.Utility.CS.ttinclude (for C#)&lt;/p&gt;    &lt;p&gt;And Remove the First Line:      &lt;br /&gt;&amp;lt;#@ CleanupBehavior Processor="T4VSHost" CleanupAfterProcessingTemplate="true" #&amp;gt;&lt;/p&gt;    &lt;p&gt;See this bug in &lt;a href="http://connect.microsoft.com/VisualStudio/feedback/details/769934/entityframework-bug-in-vs2012-update-1-ctp"&gt;Connect&lt;/a&gt;  for more details.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;     2.  Finding the reference for “using System.Data.Entity.Infrastructure.”  The procedure to add this reference is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In Visual Studio 2012, select menu item "Tools"-&amp;gt; Library Package Manager --&amp;gt;  Package Manger Console  &lt;br /&gt;and typing there:       &lt;br /&gt;PM&amp;gt; install-package EntityFramework&lt;/p&gt;    &lt;p&gt;See this forum &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/a5f910a9-97d1-4f9c-b935-1643d105f1db"&gt;post&lt;/a&gt; for more details.&lt;/p&gt;&lt;/blockquote&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151557.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2012/12/14/entity-framework-for-visual-studio-2012-update-1-reverse-engineer.aspx</guid>
            <pubDate>Fri, 14 Dec 2012 21:17:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151557.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2012/12/14/entity-framework-for-visual-studio-2012-update-1-reverse-engineer.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151557.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Simple TFS 2012 API Methods: List Projects in a Collection and Import WIT Definitions</title>
            <link>http://geekswithblogs.net/BobHardister/archive/2012/12/14/simple-tfs-2012-api-methods-list-projects-in-a-collection.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/BobHardister/archive/2012/12/14/simple-tfs-2012-api-methods-list-projects-in-a-collection.aspx'&gt;http://geekswithblogs.net/BobHardister/archive/2012/12/14/simple-tfs-2012-api-methods-list-projects-in-a-collection.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I found a lot of code to do these things, but really appreciated a more concise and simple approach. For example, this can be run as a unit test. &lt;/p&gt; &lt;!-- &lt;p&gt;&amp;#160;&lt;/p&gt; --&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.VisualStudio.TestTools.UnitTesting;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Xml;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Server;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Common;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.WorkItemTracking.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Framework.Client;
&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.TeamFoundation.Framework.Common;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;[TestMethod]
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; ImportProcessTemplateWitDefinitionsToCollection()
        {
            &lt;span class="kwrd"&gt;string&lt;/span&gt; wsPath = &lt;span class="str"&gt;@"{&lt;em&gt;your path&lt;/em&gt;}\WorkItem Tracking\TypeDefinitions\";
            List&amp;lt;string&amp;gt; wits = new List&amp;lt;string&amp;gt;();
            wits.Add("&lt;/span&gt;Bug.xml&lt;span class="str"&gt;");
            wits.Add("&lt;/span&gt;Task.xml&lt;span class="str"&gt;");
            wits.Add("&lt;/span&gt;UserStory.xml&lt;span class="str"&gt;");

            TfsTeamProjectCollection tpc = 
                &lt;span class="kwrd"&gt;new&lt;/span&gt; TfsTeamProjectCollection(&lt;span class="kwrd"&gt;new&lt;/span&gt; Uri(&lt;span class="str"&gt;"{&lt;em&gt;your collection url&lt;/em&gt;}"&lt;/span&gt;))
            tpc.EnsureAuthenticated();
            &lt;span class="kwrd"&gt;var&lt;/span&gt; wis = &lt;span class="kwrd"&gt;new&lt;/span&gt; WorkItemStore(tpc);
            &lt;span class="kwrd"&gt;var&lt;/span&gt; projects = (&lt;span class="kwrd"&gt;from&lt;/span&gt; Project p &lt;span class="kwrd"&gt;in&lt;/span&gt; wis.Projects select p.Name).ToList();

            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; targetTfsProjectName &lt;span class="kwrd"&gt;in&lt;/span&gt; projects)
            {
                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt; wit &lt;span class="kwrd"&gt;in&lt;/span&gt; wits)
                {
                    XmlDocument WitDefFile = &lt;span class="kwrd"&gt;new&lt;/span&gt; XmlDocument();
                    WitDefFile.Load(wsPath + wit);
                    &lt;span class="kwrd"&gt;string&lt;/span&gt; WitDef = WitDefFile.InnerXml;
                    wis.Projects[targetTfsProjectName].WorkItemTypes.Import(WitDef);
                }
            }
        }&lt;/span&gt;&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/151553.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Bob Hardister</dc:creator>
            <guid>http://geekswithblogs.net/BobHardister/archive/2012/12/14/simple-tfs-2012-api-methods-list-projects-in-a-collection.aspx</guid>
            <pubDate>Fri, 14 Dec 2012 15:58:26 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/BobHardister/comments/151553.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/BobHardister/archive/2012/12/14/simple-tfs-2012-api-methods-list-projects-in-a-collection.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/151553.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>