Friday, June 29, 2007

LINQ to SQL first try

Emm, saya dah lama tak tulis ADO.net dataaccess punya code dan saya akui saya banyak dah lupa macam maner nak guna SqlCommand, SqlConnection etc, pernah ada satu adhoc nyer project memerlukan saya buat connection ke database dan query simple data dan bayangkan saya terpaksa google dan pergi ke ADO.Net QuikStart unutk start buat SqlConnection dan cari mcm maner nak pangil connection string.

Ini adalah kerana kesemua project yang saya buat jika terlibat dengan database saya akan menggunakan NHibernate sebagai OR Mapper, jadi memang patut skill ADO.Net saya pupus macam tu sahaja, saya tak menyesal pun..hahaha :) mesti pengikut setia Microsoft ADO.Net yang menggunakan DataAccess Application Block pada semacam je.

Anyway hari nie ada kelainan sedikit, saya terbaca beberapa comment tentang LINQ to SQL tapi belum pernah tergerak hati lagi nak mencuba, ntah lepas habis run automated test dgn jaya, saya tergerak untuk godek-godek serba sedikit LINQ to SQL , mcam maner rupa nyer, LINQ itu sendiri memang saya faham apa ke bende nyer, tapi bila dah terlalu banyak codename dlm .Net nyer group saya pun jadi pening. Saya rasa ada bnyk lagi tech baru dlm .Net saya tak tahu mcm Jasper, Astoria dan beberapa project lain yang nama codename pun saya tak ingat.

Ok lah saya tunjukkan mcm maner saya start guna LINQ to SQL tapi nie shorcut je, saper minat try sendiri :)

- Create Orcas project
- Add LINQ to SQL File
- Create SQL Connection Database di DataConenction
- Lepas tu coding LINQ

Contoh mcm gambar ini







Code yang ditulis:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LINQToSQL
{
class Program
{
static void Main(string[] args)
{
NorthwindDataContext ndc = new NorthwindDataContext();
var prod = from p in ndc.Products
where p.Category.CategoryName == "Seafood"
select p;
foreach (Product p in prod)
{
Console.WriteLine(p.ProductName);
}
Console.ReadKey();

}
}
}


Ringkasan:
Emm masih tak boleh nak lawan NHibernate sebab, NHibernate kekuatannya ialah rich domain context dan LINQ to SQL masih lagi relational database driven context.

0 comments: