Last week Telerik released
a new LINQ implementation that is simple to use and produces domain models very
fast. Built on top of the enterprise grade OpenAccess
ORM, you can connect to any database that OpenAccess can connect to such as: SQL
Server, MySQL, Oracle, SQL Azure, VistaDB, etc. Today I will show you how to build
a domain model using MySQL as your back end.
To get started, you have to download MySQL 5.x and the MySQL Workbench and also, as
my colleague Alexander Filipov at Telerik reminded me, make sure you install the MySQL
.NET Connector, which is available
here. I like to use Northwind, ok it gives me the warm and fuzzies, so I
ran a script to produce Northwind on my MySQL server. There are many ways you can
get Northwind on your MySQL database, here is a helpful
blog to get your started. I also manipulated the first record to indicate that
I am in MySQL and gave a look via the MySQL Workbench.
Ok, time to build our model! Start up the Domain Model wizard by right clicking on
the project in Visual Studio (I have a Web project) and select Add|New Item and choose
“Telerik OpenAccess Domain Model” from the new item list.
When the wizard comes up, choose MySQL as your back end and enter in the name of your
saved MySQL connection.
If you don’t have a saved MySQL connection set up in Visual Studio, click on “New
Connection” and enter in the proper connection information. *Note, this is where you
need to have the MySQL .NET connector installed.
After you set your connection to the MySQL database server, you have to choose which
tables to include in your model. Just for fun, I will choose all of them.
Give your model a name, like “NorthwindEntities” and click finish. That is it.
Now let’s consume the model with ASP .net. I created a simple page that also has a
GridView on it. On my page load I wrote this code, by now it should look very familiar,
a simple LINQ query filtering customers by country (Germany) and binding the results
to the grid.
1: protected void Page_Load(object sender,
3: if (!IsPostBack)
5: //a reference to
the data context
6: NorthwindEntities dat = new NorthwindEntities();
7: //LINQ Statement
8: var result = from c in dat.Customers
9: where c.Country
10: select c;
11: //Databinding to
12: GridView1.DataSource = result;
F5 produces the following.
Tomorrow I’ll show how to take the same model and create an Astoria/OData data feed.
Stephen Forte sits on the board of several start-ups including Triton Works. Stephen is also the Microsoft Regional Director for the NY Metro region and speaks regularly at industry conferences around the world. He has written several books on application and database development including Programming SQL Server 2008 (MS Press).