Geeks With Blogs
Jakub Malinowski's blog The blog about ASP.NET

Wczoraj (tj. 06.05.2009) pojawil sie nowy preview - Preview 4 bibliotek CRUD dla ASP.NET, a wiec Dynamic Data. W moim moralnym obowiazku jako fana DD znajduje sie w zwiazku z tym opisanie nowego release’u. Ten post zapoczatkuje serie na temat Dynamic Data, w wersji aktualnej, a pózniej Futures, tak aby przekonac programistów ASP.NET, ze Dynamic Data nie gryzie.

 

Do kogo jest skierowany ten post?

Glównie do ludzi, którym Dynamic Data sie przyda. Wiec raczej nie do tych, którzy pracuja nad projektami klasy Enterprise, poteznymi aplikacjami wymagajacymi sporej skalowalnosci, a do tych, którzy pracuja nad projektami mniejszymi, zwlaszcza tymi które nie wymagaja szczególnej szybkosci dzialania, czy skalowalnosci. Wynika to przede wszystkim z faktu, ze DD nie jest szczególnie szybkie. Warto wspomniec, iz DD jest z samej nazwy dynamiczne i to powoduje, ze przy kazdym request’cie snuje sie za nami Reflection wczytujace z klas zarzadzajacych danymi model. Reszta juz w miare dziala, ale Reflection niestety jest powaznym obciazeniem dla serwera.  Wniosek prosty: Jesli chcesz sprawdzic, czy to jest dla Ciebie – zrób sobie benchmark. Sciagnij release z Codeplex, a nastepnie w global.asax z wybranego projektu podmien klase modelu na swój model. Jesli predkosc Cie zadowoli wróc tutaj, bo tu znajdziesz sporo ciekawych informacji o DD.

 

Nowy preview Dynamic Data – i co z tego?

Ano, pare ciekawych usprawnien – wezmy np. nowy, superprzyspieszony sposób rejestrowania modelu – przyklad skradziony z samples.

Szybko wrzucamy na strone GridView:

    5 <html xmlns="http://www.w3.org/1999/xhtml" >

    6 <head runat="server">

    7     <title></title>

    8 </head>

    9 <body>

   10     <form id="form1" runat="server">

   11     <div>

   12 

   13         <asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="true"

   14             onrowcancelingedit="GridView1_RowCancelingEdit"

   15             onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating">

   16         </asp:GridView>

   17 

   18     </div>

   19     </form>

   20 </body>

   21 </html>

W kodziku:

    7     public partial class DataTableSample : System.Web.UI.Page {

    8         DataTable dataTable;

    9         protected void Page_Init() {           

   10             // Get DataTable

   11             dataTable = Products.GetProductsTable();

   12 

   13             // Add some metadata

   14             var productNameMd = dataTable.Columns["ProductName"].ExtendedProperties;

   15             productNameMd["Required"] = true;

   16             productNameMd["UIHint"] = "FooBar";

   17 

   18             GridView1.EnableDynamicData(dataTable);

   19         }

   20 

   21         protected override void OnPreRender(EventArgs e) {

   22             GridView1.DataSource = dataTable;

   23             GridView1.DataBind();

   24             base.OnPreRender(e);

   25         }

   26 

   27         protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {

   28             GridView1.EditIndex = e.NewEditIndex;

   29         }

   30 

   31         protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {

   32 

   33         }

   34 

   35         protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {

   36 

   37         }

   38     }

   39 }

A za darmo dostajemy cos takiego:

Dynamic Data Preview 4 Screen 

Mamy tu inline editing, walidacje po stronie serwera i klienta, mozliwosc customizowania wygladu i pare innych bajerów, o których napisze wkrótce. Ale generalnie – mamy to wszystko przy pomocy jednej linii kodu ( GridView1.EnableDynamicData(dataTable); ), bo reszta to zwykle bindowanie danych do GridView i dodanie prostej walidacji (to powinno bylo zostac wykonane w modelu). Zobacz przyklad SimpleDynamicDataSamples, a poczujesz o co chodzi. A chodzi tu o cos, co uczyniloby z DD niesamowita platforme CRUD juz teraz, gdyby nie bledny sposób reklamowania jej przez twórców.

 

Podoba mi sie to!

Mi tez sie podoba – mozesz wiec tak jak ja zaczac z tego korzystac tak szybko, jak to mozliwe. Ale jeszcze poswiec chwile – zrób benchmark i sprawdz czy DD nie jest za wolne dla Ciebie – jesli nie, to witaj w gronie szczesliwych uzytkowników Dynamic Data.

 

I to wszystko tak po prostu?

Niestety nie, zycie byloby wtedy za latwe – na te bajery musisz poczekac do .Net 4.0, bo po zobaczeniu tego na pewno nie wystarczy Ci to, co jest dostepne dzis – ale zawsze mozesz spróbowac.

 

Wymagania

Dla dzisiejszej platformy i dla Futures .Net 3.5 SP1 i Full Trust, dla finalnej to na 90% bedzie .Net 4.0 i Full Trust environment.

 

Spójrz tu w wolnym czasie

Strona Microsoftu o Dynamic Data

Na blogu Scotta Huntera o Preview 4

Posted on Thursday, May 7, 2009 6:35 PM ASP.NET | Back to top


Comments on this post: Dynamic Data Preview 4

Comments are closed.
Comments have been closed on this topic.
Copyright © jakubmal | Powered by: GeeksWithBlogs.net