PDA

View Full Version : LinQ



آرین پارسایی
سه شنبه 14 مهر 1388, 20:32 عصر
سلام به دوستان . من به چند تا مشکل تو LinQ برخوردم . اگه کسی کمک کنه ممنون میشم .
1- معادل دستور Left outer join در LinQ چیه .
2- اگه join ی که میخواهیم انجام بدیم Equal نباشه باید از چه Keyword ی استفاده کنیم

saeidkhan
جمعه 17 مهر 1388, 16:30 عصر
با سلام
کمی در انجمن گشتم اما تاپیک مستقلی پیدا نکردم تحت عنوان سوال و جواب. پس اگر خیلی بی جا دارم در یک

تاپیک پست می زنم و سوال می کنم پوزش می خوام.

مشکلی در linq دارم. بعد از اضافه کردن یک جدول به سند bdml اگر چنانچه جدول رو در اینترپرایز منیجر تغییراتی

درش اعمال کنیم مثلا اگر فیلدی به اون اضافه کنیم. در سند DBML اون تغییرات اعمال نمیشه. برای بروز رسانی

این دو آیا ویژوال استودیو راهکاری دارد؟

با تشکر.

shima_85
جمعه 17 مهر 1388, 21:21 عصر
1- معادل دستور Left outer join در LinQ چیه .




LINQ Query


var query = (from p in dc.GetTable<Person>()
join pa in dc.GetTable<PersonAddress>() on p.Id equals pa.PersonId into tempAddresses
from addresses in tempAddresses.DefaultIfEmpty()
select new { p.FirstName, p.LastName, addresses.State });
SQL Translation

اینم معادل sql اش

-- Context: SqlProvider(Sql2005)
SELECT [t0].[FirstName], [t0].[LastName], [t1].[State] AS [State]
FROM [dbo].[Person] AS [t0]
LEFT OUTER JOIN [dbo].[PersonAddress] AS [t1] ON [t0].[Id] = [t1].[PersonID]

shima_85
جمعه 17 مهر 1388, 21:27 عصر
مشکلی در linq دارم. بعد از اضافه کردن یک جدول به سند bdml اگر چنانچه جدول رو در اینترپرایز منیجر تغییراتی

درش اعمال کنیم مثلا اگر فیلدی به اون اضافه کنیم. در سند DBML اون تغییرات اعمال نمیشه. برای بروز رسانی

این دو آیا ویژوال استودیو راهکاری دارد؟

من وقتی به همچین موردی برخورد می کنم،جداول موجود در dbml را پاک می کنم ،بعدش در server explorer کل جداول را refresh می کنم ،و بعدشم build.
حالا دوباره جداول را از server explorer انتخاب و drag می کنم تو صفحه.