damanpak
سه شنبه 12 اسفند 1393, 01:18 صبح
سلام به دوستان
یه سوالی برام پیش اومده در نحوه نوشتن کوئری با Linq که ممنون میشم راهنمایی کنید
من توی دیتابیسم 2 تا جدول دارم یکی Drivers و دیگری IdsOfDrivers که به یکدیگر با کلید اصلی وو کلید خارجی مرتبط هستند
حالا با این تفاسیر میخواستم بدونم فرق دو کوئری زیر (که نتیجه جفتشون یکیه) در چیه؟
و اینکه دوستان پیشنهاد میدن به کدوم روش کد نویسی کنیم؟
کوئری اول :
Using NDataBase As New MosaferBariEntities
DataGridView1.DataSource = (From F In NDataBase.IdsOfDrivers Where F.NewId = "123"
Select New With {F.Driver.ID, F.Driver.DriverName})
End Using
کوئری دوم :
Using NDataBase As New MosaferBariEntities
DataGridView1.DataSource = (From FId In NDataBase.IdsOfDrivers Join FDr In NDataBase.Drivers
On FDr.ID Equals FId.DriverId
Where FId.NewId = "123" Select New With {FDr.ID, FDr.DriverName})
End Using
در کوئری دوم از Join استفاده شده
حال با توجه به اینکه بین دوتا جدولم رابطه وجود داره آیا بازم در نوشتن کوئری نیاز به Join هست؟
یه سوالی برام پیش اومده در نحوه نوشتن کوئری با Linq که ممنون میشم راهنمایی کنید
من توی دیتابیسم 2 تا جدول دارم یکی Drivers و دیگری IdsOfDrivers که به یکدیگر با کلید اصلی وو کلید خارجی مرتبط هستند
حالا با این تفاسیر میخواستم بدونم فرق دو کوئری زیر (که نتیجه جفتشون یکیه) در چیه؟
و اینکه دوستان پیشنهاد میدن به کدوم روش کد نویسی کنیم؟
کوئری اول :
Using NDataBase As New MosaferBariEntities
DataGridView1.DataSource = (From F In NDataBase.IdsOfDrivers Where F.NewId = "123"
Select New With {F.Driver.ID, F.Driver.DriverName})
End Using
کوئری دوم :
Using NDataBase As New MosaferBariEntities
DataGridView1.DataSource = (From FId In NDataBase.IdsOfDrivers Join FDr In NDataBase.Drivers
On FDr.ID Equals FId.DriverId
Where FId.NewId = "123" Select New With {FDr.ID, FDr.DriverName})
End Using
در کوئری دوم از Join استفاده شده
حال با توجه به اینکه بین دوتا جدولم رابطه وجود داره آیا بازم در نوشتن کوئری نیاز به Join هست؟