I have written a white paper for the Microsoft Oslo team that is available on MSDN here. The paper is titled: “Using Oslo to Speed Up Database Development” and shows how you can use the new M language to model databases, browse that model in Quadrant, and tap into the power of the Oslo Repository.

The paper shows how the model you make is mapped to TSQL and to SQL Server objects, including Tables and Views. It is pretty cool to see the following M type and its M values and how they will map to a TSQL script to create a People table and INSERT INTO statements for the Steve and Mike rows.

 1: //Types
 2: type Person
 3: {
 4:  Id : Integer32;
 5:  Name : Text#50;
 6:  Age : Integer32;
 7: }
 8: //Values
 9: People:Person*;
 10: People
 11: {
 12:  { Id=>1, Name=>"Steve",
 13:  { Id=>2, Name=>"Mike",
 14: }


The corresponding TSQL will look like this:

 1: create table [OsloDemo].[People]
 2: (
 3:  [Age] int not null,
 4:  [Id] int not null,
 5:  [Name] nvarchar(50) not null
 6: );
 7: go
 9: insert into [OsloDemo].[People]
([Id], [Name], [Age])
 10:  values (1, N'Steve',
 11: ;
 13: insert into [OsloDemo].[People]
([Id], [Name], [Age])
 14:  values (2, N'Mike',
 15: ;
 16: go


Developers will like to model in M since it will abstract them from the ins and outs of the database.

In addition the paper shows how to use the repository and how modeled types will benefit from using the repository. In addition I discuss a little abut the DSL capabilities of Oslo using M Languages. What is cool is that I also talk about Telerik’s LINQ to M at the end, and how to use it with the DSL and M languages with Visual Studio and C#.

You can get the paper here.

About the Author

Steve 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).


Comments are disabled in preview mode.