<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.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>Nannette Thacker ShiningStar.net : Dynamic Data</title><link>http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx</link><description>Tags: Dynamic Data</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>New ASP.net Technologies, What to Do?</title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/13/new-asp-net-technologies-what-to-do.aspx</link><pubDate>Thu, 13 Nov 2008 16:10:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6729546</guid><dc:creator>nannette</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6729546</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6729546</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/13/new-asp-net-technologies-what-to-do.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I have spent the last two weeks researching the latest ASP.net technologies and I have to admit, my mind's been swimming with the mass amount of new things out there to learn.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I purchased &lt;A class="" href="http://www.asp.net/downloads/vs2008/" target=_blank mce_href="http://www.asp.net/downloads/vs2008/"&gt;Visual Studio 2008 with framework 3.5 and SP1&lt;/A&gt; and Windows Web Server 2008 Web Edition with IIS7&amp;nbsp;as well as &lt;A class="" href="http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx" target=_blank mce_href="http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx"&gt;SQL Server 2008 Web Edition&lt;/A&gt; on a Windows Vista Ultima OS. (See &lt;A class="" href="http://weblogs.asp.net/nannettethacker/archive/2008/11/05/sql-server-2008-web-edition.aspx" target=_blank mce_href="http://weblogs.asp.net/nannettethacker/archive/2008/11/05/sql-server-2008-web-edition.aspx"&gt;more info here on VS2008&lt;/A&gt; and more info on &lt;A class="" href="http://weblogs.asp.net/nannettethacker/archive/2008/11/05/sql-server-2008-web-edition.aspx" target=_blank mce_href="http://weblogs.asp.net/nannettethacker/archive/2008/11/05/sql-server-2008-web-edition.aspx"&gt;SQL Server 2008 Web Edition&lt;/A&gt;).&lt;/P&gt;
&lt;P mce_keep="true"&gt;If that isn't enough new stuff to learn, now what direction do I go with development?&lt;/P&gt;
&lt;P mce_keep="true"&gt;About 8&amp;nbsp;months ago, I went to the Heros Happen Here convention and was told to steer away from Table Adapters and start working with Linq To SQL for all new development. Now we're told there will be meager support for Linq to SQL and instead of using a &lt;A class="" href="http://www.asp.net/dynamicdata/" target=_blank mce_href="http://www.asp.net/dynamicdata/"&gt;Dynamic Data&lt;/A&gt; Web Application, to instead use Dynamic Data Entities Web Application (which not only supports &lt;A class="" href="http://www.asp.net/learn/3.5-SP1/video-245.aspx" target=_blank mce_href="http://www.asp.net/learn/3.5-SP1/video-245.aspx"&gt;ADO.net&lt;/A&gt;, but also Linq to SQL, but is called &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc161164.aspx#_Toc188851309" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc161164.aspx#_Toc188851309"&gt;Linq to&amp;nbsp;Entities&lt;/A&gt;&amp;nbsp;-- so it's not like you've learned Linq to SQL for nothing).&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here is a &lt;A class="" href="http://www.codeguru.com/csharp/.net/net_general/netframeworkclasses/article.php/c15489__1/" target=_blank mce_href="http://www.codeguru.com/csharp/.net/net_general/netframeworkclasses/article.php/c15489__1/"&gt;Linq to Entities tutorial&lt;/A&gt;&amp;nbsp;and more info on the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx"&gt;ADO.Net Entity Framework&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Well, after two weeks of researching all that's out there, I narrowed it down to these technologies:&lt;/P&gt;
&lt;P mce_keep="true"&gt;1) To not reinvent the wheel on handling Microsoft's sql membership provider, I decided to purchase &lt;A class="" href="http://www.herocoder.com/Products/HeroMembership/" target=_blank mce_href="http://www.herocoder.com/Products/HeroMembership/"&gt;HeroCoder's Hero Membership&lt;/A&gt; product&amp;nbsp;to handle all of my membership log in, registration, administration, password change, etc. The cost of the product is less than what I make in an hour, so it was a real bargain. I couldn't put that together in an hour.&lt;/P&gt;
&lt;P mce_keep="true"&gt;2) To handle the admin pages for all of my tables, especially populating my "list" type tables like statuses, specialties, categories, you get it, I'd use the &lt;A class="" href="http://www.asp.net/dynamicdata/" target=_blank mce_href="http://www.asp.net/dynamicdata/"&gt;Dynamic Data&lt;/A&gt; generated admin screens. But not the Dynamic Data Web Application, but instead the ADO.net Dynamic Data Entities Web Application.&lt;/P&gt;
&lt;P mce_keep="true"&gt;3) Now, should I use ADO.NET Entities ORM&amp;nbsp;to access the database, or Linq to Sql? Well, that's a no brainer. Even MS recommends using the ADO.NET Entities, rather than Linq to SQL, and I already know ADO.NET. Besides, that is typical of what most of my clients use. I haven't had any clients ask for Linq to SQL. I'll also&amp;nbsp;use the &lt;A class="" href="http://www.learnvisualstudio.net/content/series/LINQ_to_SQL_101.aspx" target=_blank mce_href="http://www.learnvisualstudio.net/content/series/LINQ_to_SQL_101.aspx"&gt;LearnVisualStudio.net Linq to Sql 101 set of videos&lt;/A&gt; to learn the Linq language and Lambda, which can also be used in ADO.NET Entitites Linq to Entities.&lt;/P&gt;
&lt;P mce_keep="true"&gt;4) Now what about Ajax and bells and whistles? I decided to go with the &lt;A class="" href="http://www.telerik.com/" target=_blank mce_href="http://www.telerik.com/"&gt;Telerik Toolset&lt;/A&gt;. It handles all my Ajax controls, and for a few bucks extra, I got the entire library including ASP.NET Ajax, Winforms, WPF, Silverlight, Reporting, and even OpenAccess ORM if I decide I need that down the road.&lt;/P&gt;
&lt;P mce_keep="true"&gt;You'll also want to take a look at &lt;A class="" href="http://www.asp.net/learn/security/tutorial-02-vb.aspx" target=_blank mce_href="http://www.asp.net/learn/security/tutorial-02-vb.aspx"&gt;forms authentication&lt;/A&gt;&amp;nbsp;and other &lt;A class="" href="http://www.asp.net/learn/security/" target=_blank mce_href="http://www.asp.net/learn/security/"&gt;security&lt;/A&gt; videos.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So in a nutshell, there is two weeks of research you don't have to do to figure out what to use. However, I can't help you with actually reading the docs and watching the videos and learning the stuff.&lt;/P&gt;
&lt;P mce_keep="true"&gt;May your dreams be in ASP.net!&lt;/P&gt;
&lt;P mce_keep="true"&gt;Nannette&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6729546" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Linq+to+SQL/default.aspx">Linq to SQL</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/SQLServer2008/default.aspx">SQLServer2008</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Telerik+Rad/default.aspx">Telerik Rad</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item><item><title>Telerik VB Dynamic Data Field Templates - DateTime Edit RadDatePicker</title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/12/telerik-vb-dynamic-data-field-templates-datetime-edit-raddatepicker.aspx</link><pubDate>Wed, 12 Nov 2008 16:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6724202</guid><dc:creator>nannette</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6724202</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6724202</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/12/telerik-vb-dynamic-data-field-templates-datetime-edit-raddatepicker.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Telerik VB Dynamic Data Field Templates - DateTime Edit RadDatePicker:&lt;/P&gt;
&lt;P mce_keep="true"&gt;datetime_edit.ascx&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;telerik:RadDatePicker ID="RadDatePicker1" runat="server" DbSelectedDate="&amp;lt;%# FieldValueEditString %&amp;gt;"&amp;gt;&lt;BR&gt;&amp;lt;/telerik:RadDatePicker&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;dateTime_Edit.ascx.vb&lt;/P&gt;
&lt;P mce_keep="true"&gt;Imports System.Web.DynamicData&lt;/P&gt;
&lt;P mce_keep="true"&gt;Partial Class DateTime_EditField&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits System.Web.DynamicData.FieldTemplateUserControl&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides ReadOnly Property DataControl As Control&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return RadDatePicker1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadDatePicker1.ToolTip = Column.Description&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub ExtractValues(ByVal dictionary As IOrderedDictionary)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary(Column.Name) = ConvertEditedValue(RadDatePicker1.DbSelectedDate.ToString)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;End Class&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For a C# version of Telerik field templates, see Atanas Korchev's blog, &lt;A class="" href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx" target=_blank mce_href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx"&gt;Yet another update of RadControls for ASP.NET Ajax DynamicData support&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6724202" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Telerik+Rad/default.aspx">Telerik Rad</category></item><item><title>Telerik VB Dynamic Data Field Templates - Foreign Key Edit RadComboBox</title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/11/telerik-vb-dynamic-data-field-templates-foreign-key-edit-radcombobox.aspx</link><pubDate>Tue, 11 Nov 2008 16:05:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6724192</guid><dc:creator>nannette</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6724192</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6724192</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/11/telerik-vb-dynamic-data-field-templates-foreign-key-edit-radcombobox.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Here is a Telerik VB Dynamic Data Field Templates - Foreign Key Edit RadComboBox:&lt;/P&gt;
&lt;P mce_keep="true"&gt;foreignKey_edit.ascx&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;telerik:RadComboBox ID="DropDownList1" runat="server"&amp;gt;&lt;BR&gt;&amp;lt;/telerik:RadComboBox&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;foreignkey_edit.ascx.vb&lt;/P&gt;
&lt;P mce_keep="true"&gt;Imports System.Web.DynamicData&lt;BR&gt;Imports Telerik.Web.UI&lt;/P&gt;
&lt;P mce_keep="true"&gt;Partial Class ForeignKey_EditField&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits System.Web.DynamicData.FieldTemplateUserControl&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides ReadOnly Property DataControl() As Control&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return DropDownList1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (DropDownList1.Items.Count = 0) Then&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dropDownList As New DropDownList()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not Column.IsRequired Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dropDownList.Items.Add(New ListItem("[Not Set]", ""))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PopulateListControl(dropDownList)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each listItem As ListItem In dropDownList.Items&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim comboBoxItem As New RadComboBoxItem()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comboBoxItem.Text = listItem.Text&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comboBoxItem.Value = listItem.Value&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DropDownList1.Items.Add(comboBoxItem)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Function SelectItemByValue(ByVal value As String) As Boolean&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim item As RadComboBoxItem&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = DropDownList1.FindItemByValue(value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If item IsNot Nothing Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.Selected = True&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DropDownList1.SelectedValue = value&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DropDownList1.Text = item.Text&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return True&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return False&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub OnDataBinding(ByVal e As EventArgs)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.OnDataBinding(e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Mode = DataBoundControlMode.Edit Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectItemByValue(ForeignKeyColumn.GetForeignKeyString(Row))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub ExtractValues(ByVal dictionary As IOrderedDictionary)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' If it's an empty string, change it to null&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim val As String = DropDownList1.SelectedValue&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (val = String.Empty) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; val = Nothing&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExtractForeignKey(dictionary, val)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;End Class&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For a C# version of Telerik field templates, see Atanas Korchev's blog, &lt;A class="" href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx" target=_blank mce_href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx"&gt;Yet another update of RadControls for ASP.NET Ajax DynamicData support&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6724192" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Telerik+Rad/default.aspx">Telerik Rad</category></item><item><title>Telerik VB Dynamic Data Field Templates - Decimal Edit - RadNumericTextBox </title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/10/telerik-vb-dynamic-data-field-templates-decimal-edit.aspx</link><pubDate>Mon, 10 Nov 2008 16:57:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6724188</guid><dc:creator>nannette</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6724188</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6724188</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/10/telerik-vb-dynamic-data-field-templates-decimal-edit.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Here is a customFieldTemplate for Decimal Edit&amp;nbsp;using VB and Telerik controls - RadNumericTextBox :&lt;/P&gt;
&lt;P mce_keep="true"&gt;decimal_edit.ascx&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;lt;%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %&amp;gt;&lt;BR&gt;&amp;lt;telerik:RadNumericTextBox runat="server" ID="RadNumericTextBox1" Text='&amp;lt;%# FieldValueEditString %&amp;gt;' Skin="Vista"&amp;gt;&amp;lt;/telerik:RadNumericTextBox&amp;gt;&lt;BR&gt;&amp;lt;asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="RadNumericTextBox1" Display="Dynamic" Enabled="false" /&amp;gt;&lt;BR&gt;&amp;lt;asp:CompareValidator runat="server" ID="CompareValidator1" ControlToValidate="RadNumericTextBox1" Display="Dynamic"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Operator="DataTypeCheck" Type="Double"/&amp;gt;&lt;BR&gt;&amp;lt;asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="RadNumericTextBox1" Display="Dynamic" Enabled="false" /&amp;gt;&lt;BR&gt;&amp;lt;asp:RangeValidator runat="server" ID="RangeValidator1" ControlToValidate="RadNumericTextBox1" Type="Double"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enabled="false" EnableClientScript="true" MinimumValue="0" MaximumValue="100" Display="Dynamic" /&amp;gt;&lt;BR&gt;&amp;lt;asp:DynamicValidator runat="server" ID="DynamicValidator1" ControlToValidate="RadNumericTextBox1" Display="Dynamic" /&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;decimal_edit.ascx.vb&lt;/P&gt;
&lt;P mce_keep="true"&gt;Imports System.Web.DynamicData&lt;/P&gt;
&lt;P mce_keep="true"&gt;Partial Class Decimal_EditField&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits System.Web.DynamicData.FieldTemplateUserControl&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Overrides ReadOnly Property DataControl As Control&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return RadNumericTextBox1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim metaData = MetadataAttributes.OfType(Of System.ComponentModel.DataAnnotations.RangeAttribute)().FirstOrDefault()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Not IsDBNull(metaData) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadNumericTextBox1.MinValue = Convert.ToDouble(metaData.Minimum)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadNumericTextBox1.MaxValue = Convert.ToDouble(metaData.Maximum)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadNumericTextBox1.ToolTip = Column.Description&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetUpValidator(RequiredFieldValidator1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetUpValidator(CompareValidator1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetUpValidator(RegularExpressionValidator1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetUpValidator(RangeValidator1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetUpValidator(DynamicValidator1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub ExtractValues(ByVal dictionary As IOrderedDictionary)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary(Column.Name) = ConvertEditedValue(RadNumericTextBox1.Text)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;End Class&lt;BR&gt;&lt;BR&gt;For a C# version of Telerik field templates, see Atanas Korchev's blog, &lt;A class="" href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx" target=_blank mce_href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx"&gt;Yet another update of RadControls for ASP.NET Ajax DynamicData support&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6724188" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Telerik+Rad/default.aspx">Telerik Rad</category></item><item><title>Dynamic Data Entities Examples and Tutorials</title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/06/dynamic-data-entities-examples-and-tutorials.aspx</link><pubDate>Thu, 06 Nov 2008 20:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6724231</guid><dc:creator>nannette</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6724231</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6724231</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/06/dynamic-data-entities-examples-and-tutorials.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Here are some additional links to Dynamic Data, some using Entities. Again, people recommend not using LINQ to SQL, so using Entities seems the way to go... Thanks Rick for these suggestions. Couldn't find them by searching "Dynamic Data Entities Tutorial" on Google and if you don't know, you don't know until you know. So here you go!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc488545.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc488545.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14473"&gt;http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14473&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;It provides these downloads...&lt;/P&gt;
&lt;DIV id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_DescriptionUpdatePanel&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl00_FileListItemDiv&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl00_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt; &lt;FONT color=#3e62a6&gt;DoubleColumn.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl01_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl01_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;ExistingWebsite.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl02_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl02_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;Scaffold.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl03_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl03_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;MvcDynamicData.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl04_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl04_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;DynamicDataSProc.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl05_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl05_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;Scaffold_Entities.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl06_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl06_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;ExistingWebsite_Entities.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=FileListItemDiv id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl07_FileListItemDiv&gt;&lt;FONT color=#666666&gt;&lt;IMG class=FileTypeImage id=ctl00_ctl00_MasterContent_TabContentPanel_Content_ReleasePanelOrderingContainer_ReleaseFilesCtrl_FileList_ctl07_FileImage style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" alt="Source Code" src="http://i3.codeplex.com/Images/SourceCode.gif?v=13842" align=middle&gt;&lt;/FONT&gt; &lt;FONT color=#3e62a6&gt;SecureDynamicData.zip&lt;/FONT&gt; 
&lt;DIV&gt;&lt;SPAN class=SubText id=FileListItemInfo&gt;&lt;FONT color=#666666&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6724231" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category></item><item><title>Dynamic Data Entities Web Application</title><link>http://weblogs.asp.net/nannettethacker/archive/2008/11/05/dynamic-data-entities-web-application.aspx</link><pubDate>Wed, 05 Nov 2008 22:01:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6722108</guid><dc:creator>nannette</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/rsscomments.aspx?PostID=6722108</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/nannettethacker/commentapi.aspx?PostID=6722108</wfw:comment><comments>http://weblogs.asp.net/nannettethacker/archive/2008/11/05/dynamic-data-entities-web-application.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;When you opened up your Visual Studio 2008, you may have seen the ASP.net News on the Start Page promoting Joe Stagner's &lt;A class="" href="http://www.asp.net/learn/3.5-SP1/" target=_blank mce_href="http://www.asp.net/learn/3.5-SP1/"&gt;Six New Videos on ASP.NET Dynamic Data&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I viewed each one with interest and thought I'd do a bit more research on the topic. Some questions came to my mind, such as: Which Dynamic Data project/website do I build? An Entities or a LINQ to SQL?&lt;/P&gt;
&lt;P mce_keep="true"&gt;It appears the answer to that is Entities. Based on &lt;A class="" href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx" target=_blank mce_href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx"&gt;Microsoft's post Update on LINQ to SQL and LINQ to Entities Roadmap&lt;/A&gt;, it may appear that LINQ to SQL is already becoming obsolete. This strongly worded post indicates that &lt;A class="" href="http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx" target=_blank mce_href="http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx"&gt;LINQ to SQL is Dead, killed by Microsoft.&lt;/A&gt;&amp;nbsp;In answer, a Microsoft member of the LINQ to SQL team responds in &lt;A class="" href="http://damieng.com/blog/2008/10/31/linq-to-sql-next-steps" target=_blank mce_href="http://damieng.com/blog/2008/10/31/linq-to-sql-next-steps"&gt;LINQ to SQL Next Steps&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Okay, that decided, I went with the Dynamic Data Entities application.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The next question I encountered was, is this really something to be used for a full-blown web application with the bells and whistles? Sidebars, menus, professional-looking forms, etc.? Seriously, it looked to me like an admin tool I might use to populate helper tables and not something to be used for a full-blown professional web application. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://davidhayden.com/blog/dave/archive/2008/08/29/DynamicDataFilteringProjectDataGridFiltering.aspx" target=_blank mce_href="http://davidhayden.com/blog/dave/archive/2008/08/29/DynamicDataFilteringProjectDataGridFiltering.aspx"&gt;David Hayden says&lt;/A&gt; "&lt;FONT face=Verdana&gt;Out-of-the-box it can provide admin pages for your database tables, but with a little imagination you can do so much more than that. " &lt;SPAN&gt;Here is another post that clarifies &lt;A class="" id=viewpost.ascx_TitleUrl href="http://davidhayden.com/blog/dave/archive/2008/05/13/DynamicDataEntitiesWebsitesEntityDataSourceASPNETWebsiteScaffolding.aspx" target=_blank mce_href="http://davidhayden.com/blog/dave/archive/2008/05/13/DynamicDataEntitiesWebsitesEntityDataSourceASPNETWebsiteScaffolding.aspx"&gt;Dynamic Data Entities Websites - EntityDataSource and ASP.NET Website Scaffolding - Rapid Application Development ( RAD )&lt;/A&gt;. Here are &lt;A class="" href="http://davidhayden.com/blog/dave/category/69.aspx?Show=All" target=_blank mce_href="http://davidhayden.com/blog/dave/category/69.aspx?Show=All"&gt;numerous other&amp;nbsp;dynamic data posts&amp;nbsp;from the same author&lt;/A&gt;, David Hayden.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;In &lt;A class="" href="http://www.emoreau.com/Entries/Articles/2008/10/ASPNet-35-SP1-Dynamic-Data.aspx" target=_blank mce_href="http://www.emoreau.com/Entries/Articles/2008/10/ASPNet-35-SP1-Dynamic-Data.aspx"&gt;ASP.NET 3.5 SP1 Dynamic Data&lt;/A&gt;, Eric Moreau indicates "I would say that it builds great data-driven web site to administer your data without requiring much coding if you are ready to accept default behaviours."&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now, I've viewed numerous videos on this topic, including David Ebbo's most excellent, &lt;A class="" href="http://www.asp.net/learn/mix-2008-presentations/video-307.aspx" target=_blank mce_href="http://www.asp.net/learn/mix-2008-presentations/video-307.aspx"&gt;Developing Data Driven Applications Using ASP.NET Dynamic Data Controls&lt;/A&gt; and the &lt;SPAN id=lblEventTitle&gt;MSDN Webcast: &lt;A class="" href="https://msevents.microsoft.com/CUI/WebCastRegistrationConfirmation.aspx?culture=en-US&amp;amp;RegistrationID=1299453316&amp;amp;Validate=false" target=_blank mce_href="https://msevents.microsoft.com/CUI/WebCastRegistrationConfirmation.aspx?culture=en-US&amp;amp;RegistrationID=1299453316&amp;amp;Validate=false"&gt;geekSpeak: ASP.NET Dynamic Data with Rachel Appel&lt;/A&gt;, but if you want to actually follow step by step instructions with images on how to setup one of these applications, I highly recommend Eric Moreau's post, even though it is LINQ to SQL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc488546.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc488546.aspx&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN sdata="link"&gt;Topics include:&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN sdata="link"&gt;Walkthrough: Creating a New ASP.NET Dynamic Data Web Site Using Scaffolding&lt;/SPAN&gt;. &lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Customize ASP.NET Dynamic Data Default Field Templates&lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Customize Data Field Appearance and Behavior in the Data Model&lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Customize the Layout of an Individual Table By Using a Custom Page Template&lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Customize Data Field Validation in the Data Model&lt;/SPAN&gt;.&lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Add Dynamic Behavior to Data-Bound Controls by Using a DynamicField&lt;/SPAN&gt;. &lt;BR&gt;&lt;SPAN sdata="link"&gt;How to: Use ASP.NET Dynamic Data in Templated Data-Bound Controls&lt;/SPAN&gt;. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Now a potential problem is, what if you have a need for a Many to Many relation? LINQ to SQL version evidentally won't handle that. David Ebbo shares with us &lt;A class="" href="http://blogs.msdn.com/davidebb/archive/2008/10/25/a-many-to-many-field-template-for-dynamic-data.aspx#comments" target=_blank mce_href="http://blogs.msdn.com/davidebb/archive/2008/10/25/a-many-to-many-field-template-for-dynamic-data.aspx#comments"&gt;A ‘Many To Many’ field template for Dynamic Data&lt;/A&gt;, which adds a ManyToMany.ascx and AutoFieldGenerator class to allow using checkboxes on edit to select multiple fields from another table. This is in C#.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Another post, &lt;A class="" href="http://blog.tanngle.com/articles/2008/08/28/many-to-many-fieldtemplates-with-dynamic-data-and-entity-framework" target=_blank mce_href="http://blog.tanngle.com/articles/2008/08/28/many-to-many-fieldtemplates-with-dynamic-data-and-entity-framework"&gt;Many to Many FieldTemplates with Dynamic Data and Entity Framework&lt;/A&gt;, also shares source code on how to do this. &lt;A class="" href="http://hardcode.ro/archive/2008/07/02/dynamic-data-and-entity-framework.aspx" target=_blank mce_href="http://hardcode.ro/archive/2008/07/02/dynamic-data-and-entity-framework.aspx"&gt;Another author shares&lt;/A&gt; "I have modified the standard page templates though for being more user-friendly (like having the parent set automatically in the dropdown when inserting a new item going from parent details) and also have implemented a generic many-to-many editor (two actually, one with two listboxes and move left/right) and one with a checkboxlist, pretty simple although you have to use reflection."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;There currently is also a problem with the framework in that it may generate an error like "'System.Web.UI.WebControls.EntityDataSourceWrapper' does not contain a property with the name 'Orders.OrderID'" due to foreign key relations. This post, &lt;A class="" href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16367" target=_blank mce_href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16367"&gt;Dynamic Data Entity Framework Workaround&lt;/A&gt;, you add a dll in your bin folder for websites, or add a reference for web applications, make a few changes to your code and voila, this problem is also fixed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;The above fix is in C#. The VB version of this fix is:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;model.RegisterContext(New Microsoft.Web.DynamicData.EFDataModelProvider(GetType(MyEntities)), New ContextConfiguration() With {.ScaffoldAllTables = True})&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Function GetDisplayString() As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return FormatFieldValue(ForeignKeyColumn.ParentTable.GetDisplayString(FieldValue))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return ForeignKeyColumn.ParentTable.DisplayName&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;If you want to read further about what this is, try &lt;A class="" href="http://www.asp.net/dynamicdata/" target=_blank mce_href="http://www.asp.net/dynamicdata/"&gt;Introduction to ASP.NET Dynamic Data&lt;/A&gt;. There is also a &lt;A class="" href="http://forums.asp.net/1145.aspx" target=_blank mce_href="http://forums.asp.net/1145.aspx"&gt;Dynamic Data Forum.&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Also, check out the &lt;A class="" href="https://www.microsoft.com/resources/virtuallabs/step3-msdn.aspx?LabId=a2f3dc08-42b5-4b45-ad7a-4c9788cd4444&amp;amp;CID=&amp;amp;Token=&amp;amp;ABCCID=&amp;amp;ABCToken=&amp;amp;BToken=reg" target=_blank mce_href="https://www.microsoft.com/resources/virtuallabs/step3-msdn.aspx?LabId=a2f3dc08-42b5-4b45-ad7a-4c9788cd4444&amp;amp;CID=&amp;amp;Token=&amp;amp;ABCCID=&amp;amp;ABCToken=&amp;amp;BToken=reg"&gt;&lt;STRONG&gt;MSDN Virtual Lab: Developing ASP.NET Dynamic Data&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;lab. See more &lt;A class="" href="http://www.microsoft.com/events/series/msdnvs2008.aspx?tab=virtuallabs" target=_blank mce_href="http://www.microsoft.com/events/series/msdnvs2008.aspx?tab=virtuallabs"&gt;Virtual Labs.&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Here is some older reading: &lt;A class="" href="http://quickstarts.asp.net/previews/dynamicdata/#ASPNET_Dynamic_Data_Topics_0" target=_blank mce_href="http://quickstarts.asp.net/previews/dynamicdata/#ASPNET_Dynamic_Data_Topics_0"&gt;ASP.NET Dynamic Data Applications&lt;/A&gt;. It uses the preview versions of the Dynamic Data, rather than the 3.5 SP1.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;For info on &lt;A class="" href="http://www.codeplex.com/DynamicDataFiltering" target=_blank mce_href="http://www.codeplex.com/DynamicDataFiltering"&gt;ASP.NET Dynamic Data Filtering&lt;/A&gt;, check out this article which also recommends &lt;A class="" href="http://blogs.catalystss.com/blogs/josh_heyse/archive/tags/Dynamic+Data/default.aspx" target=_blank mce_href="http://blogs.catalystss.com/blogs/josh_heyse/archive/tags/Dynamic+Data/default.aspx"&gt;these additional links&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;What about Images in Dynamic Data Websites? &lt;A class="" href="http://quickstarts.asp.net/previews/dynamicdata/dd_HowToDisplayImagesDynamicDataWebsites.htm" target=_blank mce_href="http://quickstarts.asp.net/previews/dynamicdata/dd_HowToDisplayImagesDynamicDataWebsites.htm"&gt;Check out How to: Display Images in an Existing ASP.NET Dynamic Data Web Site&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;If you use Telerik's RADControls, as do I, you'll want to check out these blogs:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;&lt;A class="" href="http://blogs.telerik.com/AtanasKorchev/Posts/08-04-14/RadControls_and_ASP_NET_Dynamic_Data.aspx" target=_blank mce_href="http://blogs.telerik.com/AtanasKorchev/Posts/08-04-14/RadControls_and_ASP_NET_Dynamic_Data.aspx"&gt;RadControls and ASP.NET Dynamic Data&lt;/A&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;So in short, if you want to throw together some quick admin tools to populate your tables while you spend more time building an imaginative user interface, this is a great tool. As well, I expect to give it a shot with some of that "Imagination" that David Hayden speaks of.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Let me know what you've done with it. Have you created a web application with it? Have you used it out-of-the-box? What types of projects have you used it on. I'd love to hear your feedback!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;May your dreams be in ASP.NET!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;Nannette&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6722108" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/3.5+SP1/default.aspx">3.5 SP1</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://weblogs.asp.net/nannettethacker/archive/tags/General+Software+Development/default.aspx">General Software Development</category></item></channel></rss>