تبليغاتX
کدهای آماده ASP.NET - Linq to SQL – قسمت اول

برعکس همه Document های دیگه من Linq رو از آخرش شروع می کنم چون به نظر من پرکاربرد ترین بخش Linq ارتباط با بانک های اطلاعاتی Relational خارجیه مثل SQLServer. بخشی از Linq با اسم Linq to Sql امکان دسترسی به یک Object Model بر اساس Entity های موجود در سیستم رو به ما می ده. به شکل ساده تر: شما می تونید یک لایه تعریف کنید که یه Abstraction از بانک اطلاعاتی به ما ارائه می ده که ما با استفاده از Linq می تونیم Query های خودمون رو روی این Object Model انجام بدیم و Linq to Sql این Query ها رو روی بانک اطلاعاتی انجام خواهد داد.

به این ترتیب شما چنین کدی می نویسید

var query =

from    c in Company

where  c.Name == "FANA"

select  new {c.Id, c.Name };

این Query تبدیل به چنین کدی می شه:

SELECT Id, Name

FROM   Company

WHERE  Name = 'FANA'

Entities(موجودیت ها)

برای هر موجودیت در بانک اطلاعاتی باید معادلی از نوع کلاس داشته باشیم. هر جدول بانک اطلاعاتی یک کلاس معادل خواهد داشت که تمامی Attribute های آن معادل فیلدهای جدول هستند. البته لازم نیست حتما تمامی فیلدهای جدول در کلاس معادل سازی بشن اما حتما باید همه Attribute ها جزو فیلدهای جدول باشن.

این یه مثال برا یه جدول به اسم Company و دارای فیلدهای Id، Name و State

[Table(Name="Company")]

Public class Customer {

    [Column] public string Id;

    [Column] public string Name;

    [Column(Name="Ostan")] public string State;   

}

همونطور که می بینید فیلدState توی کلاس ما به Ostan تغییر نام پیدا کرده. اینطوری می تونیم فیلدهای بانک اطلاعاتی رو با نامهای دیگه توی کلاس داشته باشیم. البته برای تولید کد این کلاس ها شما می تونید از یه روش خیلی راحت تر استفاده کنید.

روی solution راست کلیک کنید و گزینه add new item رو انتخاب کنید. از پنجره باز شده Linq to SQL Classes رو انتخاب کنید. یه فایل با پسوند dbml اضافه می شه. حالا از طریق Server Explorer به بانک اطلاعاتی مورد نظرتون یه Connection بزنید و Table مورد نظرتون رو Drag کنید توی محیط طراحی.
نوشته شده توسط حميد دارابي در دوشنبه بیست و چهارم دی 1386 |