New Response

« Return to the blog entry

You are replying to:

    • avatar
    • Ferdy
    • Posted on Tue 1 Feb 2011 12:35 PM

    Ok sorry, I did not know you did not use the alternatives yet. Here's some personal perspective from my side on these choices. I cannot stress enough that I'm not really a .NET coder, I just happened to have worked with a lot of seniors.

    - The database connectivity using data sets is fine for lightweight scenarios. There is no direct reason to switch the approach for the sake of this tutorial, but you absolutely must learn about LINQ-2-SQL and possibly EF. Yes, I said must. It is essential knowledge.

    - A simplified explanation of LINQ: LINQ allows for very expressive syntax on top of a set of objects. You can do things like this without knowing a thing about the implementation details:

    from animal in db.animals where animal.type='horse'

    animal.mammal = true


    This seems like SQL but it is not. It is code, strongly typed compilable code with type-ahead that is very powerful and expressive. LINQ-TO-SQL specifically talks to SQL objects, but LINQ in itself can plug in to any kind of objects. You could have a LINQ-TO-FACEBOOK as well, the expression syntax on top is universal. Setting up the database model classes is as easy as setting up the dataset diagram you showed.

    - EF (Entity Framework) is a heavier paradigm that essentially is a full-scale ORM solution. A bit too much for this tutorial series but it would not hurt to read about it

    - As for your choice of view engine, you definitely should consider MVC. It seems to be rapidly replacing webforms as the default view engine in the .NET world. The differences:

    -- Webforms is the classic approach so far. Like Domino, it tries to lay an abstraction level on top of the web. You'll have high "drag and drop" productivity for simple apps but it will quickly work against you for anything complex. It depends on a lot of dirty tricks like using hidden fields to maintain view states. You'll also have limited control over actual HTML, JS and CSS output, although like Domino, there are ways around it. This sounds like something you want to get away from, Jake ;)

    -- MVC is more natural to the web. You will still have your data and business logic seperated from the UI, yet you have fine tuned control over HTML,JS,CSS. It also allows for things like friendly URLs. Note that MVC is the dominant architecture in most web platforms nowadays. I cannot urge you enough to try it asap.

Your Comments