PDA

View Full Version : سوال: LINQ To SQL



iradata
جمعه 02 تیر 1391, 13:02 عصر
با سلام

می خواستم بدونم که آیا استفاده از LINQ To SQL در سرعت دیتابیس تاثیری داره ؟؟؟

یعنی اینکه دیگه نیازی به تعریف SP نیست ؟؟

با تشکر

crazy_1892
جمعه 02 تیر 1391, 13:30 عصر
دوست عزیز استفاده از sp در هر تکنولوژی خوب است و باعث افزایش سرعت می شود

tooraj_azizi_1035
جمعه 02 تیر 1391, 19:35 عصر
سلام
مزیت استفاده از LINQ To SQL ارتباطی به استفاده از SP ها ندارد.

LINQ to SQL کامپوننتی از .NET Framework 3.5 است که یک run-time infrastructure برای مدیریت داده های رابطه ای به عنوان شیء فراهم می کند.
با استفاده از LINQ to SQL می توانید از تکنولوژی LINQ برای دستیابی به دیتابیس SQL دقیقاً مانند دستیابی به یک کلکسیون درون حافظه ای، استفاده کنید.
به عنوان مثال شیء nw در مثال زیر به عنوان نماینده دیتابیس Northwind ایجاد می شود و به جدول Customers رجوع شده و ردیف های London فیلتر می شوند و رشته ای به نام CompanyName برای بازیابی انتخاب می شود.
هنگامی که حلقه اجرا می شود، کلکسیون مقادیر CompanyName بازیابی می شود.


// Northwnd inherits from System.Data.Linq.DataContext.
Northwnd nw = new Northwnd(@"northwnd.mdf");
// or, if you are not using SQL Server Express
// Northwnd nw = new Northwnd("Database=Northwind;Server=server_name;Integrated Security=SSPI");

var companyNameQuery =
from cust in nw.Customers
where cust.City == "London"
select cust.CompanyName;

foreach (var customer in companyNameQuery)
{
Console.WriteLine(customer);
}




مزایای SP ها (http://msdn.microsoft.com/en-us/library/ms190782.aspx)



Reduced server/client network traffic
Reuse of Code
Easier maintenance
Improved performance
Stronger security




What You Can Do With LINQ to SQL


http://msdn.microsoft.com/en-us/library/bb882643.aspx

format
سه شنبه 20 تیر 1391, 13:45 عصر
سلام
من تا حالا برنامه نویسی سه لایه (BAl,DAL )تو C# استفاده می کردم که تمام Storprocedure ها را تو Sql داشتم ولی می خوام بیشتر در مورد LinQ بدونم مزیتهاشو نسبت به روشی که دارم استفاده میکنم بدونم کلاً تو برنامه نویسیش چه فرقی با هم دارند و کد نوشتن از کدوم روش Safe تر و سرعت بالا تری داره برای اصلاح تو برنامه کدوم یکی پویا تر و تکلیف گزارشات برنامه چی میشه Procedure هایی که برای گزارشات می نویسم از اون طرق چطوری میشه؟
ممنون می شم کمکم کنین چون می خوام یه پروژه طراحی کنم که قبلش روش خودم انتخاب کنم.

uniqueboy_ara
سه شنبه 20 تیر 1391, 15:44 عصر
سلام
من خودمم مثل شما از معماری 3لایه سنتی استفاده می کردم، ولی وقتی با Entity Framework آشنا شدم، دیدم زمین تا آسمون با هم فرق دارن!
دیگه خبری از Connection String , Connection , Command, Data Reader, Data set, Data Table و ... نیست! و کاملا شی گرا میشه همه کار انجام داد!
طبق تجربه شخصی خودم، و نظر اساتید همینجا، EF سرعت بیشتری هم نسبت به روش قبلی داره، تکلیف گزارشات هم سر جاشه! راحت با یه کوئری LINQ میتونی نتیجه بگیری
در رابطه با sp ها هم کار خیلیییییییی راحت تر شده! چطوری؟؟؟ الان عرض می کنم خدمتتون:
شما فرض کن که یه sp داری که مقدار 3تا فیلد از نوع های String, int, Date رو میگیره و داخل دیتابیس ذخیره می کنه! نحوه فراخونی همچین SPای با فرض اینکه اسم جدولت Person باشه و اسم sp هم AddRecord باشه توی ef به همین سادگیه:
Person.AddRecord("AmirReza",19,Datetime.Now);

soaleman
چهارشنبه 21 تیر 1391, 13:14 عصر
سلام دوستان
ضمن تشكر از همه شما و مطالب بسيار مفيدتون
ميخواستم بدونم مطالب آموزشي از EF بصورت ويدئويي فارسي داريد به من هم كمك كنيد يا اگر PDF هست حداقل بشه راحت متوجه شد و يادگرفت
ممنونم از لطف شما

uniqueboy_ara
چهارشنبه 21 تیر 1391, 13:59 عصر
پروژه ساخت دفترچه تلفن با استفاده از EF و LINQ
(http://barnamenevis.org/showthread.php?347385-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%AF%D9%81%D8%AA%D8%B1%DA%86%D9%87-%D8%AA%D9%84%D9%81%D9%86-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-EF-%D9%88-LINQ)

فرید نجفلو
چهارشنبه 21 تیر 1391, 14:05 عصر
سلام
همینجا یه نکته به نظرم رسید که گفتنش بهتره
اینکه سرعت در LINQ کمتر از استفاده از ADO.NET به صورت سنتی هست مخصوا وقتی شما می خواید لیست بگیرید(Select * From) فوق العاده با کاهش سرعت روبرو می شید
البته تا اونجایی که من می دونم این به خاطر تبادل اطلاعات بین کلاس های و فیلد های LINQ (که برای شیئ گرا بودن پیاده سازی شدن) هست

به جز این مشکل در کل می تونم بگم LINQ فوق العاده هست و من خودم تقریبا دستورات سنتی SQL رو کنار گذاشتم

Sirwan Afifi
چهارشنبه 21 تیر 1391, 14:11 عصر
سلام دوستان
ضمن تشكر از همه شما و مطالب بسيار مفيدتون
ميخواستم بدونم مطالب آموزشي از EF بصورت ويدئويي فارسي داريد به من هم كمك كنيد يا اگر PDF هست حداقل بشه راحت متوجه شد و يادگرفت
ممنونم از لطف شما

توی این سایت (http://www.hamcodi.ir) یه سری آموزش EF با زیرنویس فارسی هست می تونید دانلود کنید.