Dynamic Data in Asp.net 4.0. Part1 : Introduction
Introduction
Dynamic
Data in Asp.net was first introduced in .NET 3.5 SP1, and later was
improved in Asp.net 4.0. For those who were longing for a RAD (Rapid
Application Development) platform in Asp.net, Dynamic Data was a real
good news for them. It provides a framework to quickly develop a Data
Driven Asp.net application by generating CRUD functionality for the
database tables. But, if you want to consider Dynamic Data as just
another Code Generator tool, you are completely wrong. Generation of
codes is just a part of the Dynamic Data framework. What makes it
different? Well, unlike most other code generation frameworks, the
framework allowes you to utilize the powerful Dynamic Data features
without using the code generation based on database tables (scaffolding)
at all! Most importantly, the Dynamic Data framework is so elegantly
designed that its really easy for you to customize the framework
generated codes at each granular level and this makes it really valuable
and effective to be considered as a RAD framework to build your next
Asp.net application.
In
this Part1 of the article on Dynamic Data in Asp.net, I'll cover the
basics and then will eventually cover the customizations which you might
need to know when developing real applications.
Here we go.
Creating a Dynamic Data Application project
Assuming you are using Visual Studio 2010, go to File->New project->Asp.net Dynamic Data Entities Web Application (If you want to develop a Dynamic Data application based on Entity framework) or File->New project->Asp.net Dynamic Data Linq to SQL Web Application
(If you want to develop a Dynamic Data application based on Linq to
SQL) and click "OK" to let Visual Studio create the project.
Figure : Add new dynamic data project |
Once the project is created, it will be shown in the solution explorer as below:
Figure : Dynamic Data project in Solution Explorer |
Running a Dynamic Data Project
As
Dynamic Data is a Data driven Asp.net application, it cannot be run
unless we configure the data source for the application project.
Follow these steps to execute a "Hello world" run of the Dynamic Data application.
Right
click on the project and Add an "ADO.NET Entity Data Model" to launch
the wizerd to configure the Entity data model and specify inputs in each
step until Finish.
Figure : Add ADO.NET Entity Data Model |
Figure : Choose Data Model |
Figure : Choose Database |
Figure : Choose Database objects (Tables) |
Once
done, the Entity Model will be added in the solution and it will be
displayed in the designer view and in the solution explorer.
Figure : An Entity data model |
Figure : Entity Model in Solution Explorer |
Double
click on the Designer.cs file of the Entity Model (edmx) to open the
corresponding Code file and expand the region "Context" to find the
Entity context class name.
Figure : EntityContext class |
Copy
the class name (The class which inherits the ObjectContext class) for
the Entity context and open the Global.asax in the Visual Studio editor
to register and configure the Dynamic Data with the Entity context
class.
To
configure, uncomment the following line in the Global.asax (Which is
commented out by default , and paste the Entity context class name (DynamicDataEntities in this example) within the typeof() operation (The first red box)
Figure : Configure the Entity Context with Dynamic Data |
Also, specify ScaffoldAllTables = true (Which is by default false) to specify that the Dynamic Data engine should generate codes to perform CRUD operations for all tables in the database (Ideally, this may not be desired, but, for understanding and running the very first Dynamic Data application, lets keep this simple).
Build
the Application and once build is successful, Run or Debug the
application. It will launch the application which should be something
like as follows:
Figure : Dynamic Data web site |
Click
on a particular Table name in the listing and it will show a listing
page including all filtering options (For all the foreign keys) with Insert/Update/Delete links for each data
Figure : Listing page for a particular table |
Using the Filter options you can filter the listing page by selecting particular filter data. The filter data are retrieved from the database using the foreign key values. Also, clicking on the "Insert new item" link below allows you to enter a new item in the system and the Edit and Delete links let you Edit a particular item and Delete one respectively.
Creating
a Dynamic Data web application project and running it by configuring an
Entity or Linq to SQL Data source requires 5 minutes of works at best
and the end result is a powerful bug free CRUD application for the
entire database generated right way.
In
the next part of this article we would try to understand the building
blocks of the Dynamic Data Application project, which would eventually
help us customize the application when we would implement a real
application using this framework.
No comments :
Post a Comment