Atlas, IIS7, LINQ and Other Technologies

Scott Guthrie came to Phoenix today to speak on various topics including IIS7 and LINQ.  I've had the chance to hear Scott speak on several occassions and he delivered yet another great speech that was fun to watch since he always does a lot of demos.  Some of the topics covered included new configuration options in IIS7.  Once released, you'll be able to configure the settings for an IIS7 application using web.config rather than having to go through the admin utility of old (you can of course use the admin utility as well...which has been significantly revamped).  For example, you can add the following XML into web.config to configure the default pages for a site as well as specify if directory browing is enabled.

<system.webServer>
  <directoryBrowse enabled="true" />
  <defaultDocument enabled="true">
     <files>
        <add value="Home.aspx" />
     </files>
  </defaultDocument>
</system.webServer>

They couldn't have made it any easier!  For those of you who don't have admin access to a server (such as in a shared host environment), once IIS7 is released you'll be able to do a ton of stuff directly in web.config.

Scott also talked about LINQ which allows you to easily query databases without having to write a lot of SQL code.  LINQ allows you to easily map SQL data to CLR objects and perform various operations such as joining, grouping and sorting.  For example, Scott's demos include the following C# code that queries the Northwind database and joins the Customers and Orders tables (note that C# 3.0 functionality such as anonymous types is being used as well):

protected void Page_Load(object sender, EventArgs e)
{
        NorthwindDataContext db = new NorthwindDataContext();

        var custTotalOrders = from c in db.Customers
                           join o in db.Orders
                              on c.CustomerID equals o.CustomerID into custOrders
                           from o in custOrders
                           select new {
                                  Customer = c.CompanyName,
                                  OrderDate = o.OrderDate,
                                  OrderTotal = o.OrderDetails.Sum(d=>d.UnitPrice*d.Quantity)
                              };

        GridView1.DataSource = custTotalOrders;
        GridView1.DataBind();

Check out all of Scott's tutorials on LINQ and related technologies at http://weblogs.asp.net/scottgu.  Scott also ran several demos on Atlas and mentioned that the official name should be coming out within a week and that V1 of the product should be released by the end of the year.  So many cool technologies to learn and so little time. :-)

Kudos to Scott Cate and Lorin Thwaits for organizing the event.  They did a great job!

comments powered by Disqus

No Comments