mrali.jalali
دوشنبه 30 آذر 1394, 21:47 عصر
سلام دوستان
من به روش زیر در linq ، کوئری می زنم . وقتی پروفایلر sql میبینم همه جدول رو انتخاب میکنه و بر می گردونه و در خود برنامه شرط رو اعلام میکنه که فکر میکنم اصولی نباشه
var query = from row in Ld.Vw_Earchive_Pat_Rad_Pths.ToList()
where row.PAT_NO == Frm_Patient.PatNO
select new { row.ANS_TEXT, row.doctypename };
همچنین برای جست و جو در گرید از روش زیر استفاده میکنم که برای هر بار جست و جو دوباره کوئری روی sql انجام میشه که اینم بنظرم درست نیست
string[] allWord = txt_search.Text.Split ( ' ' );
var query = from row in Ld.Vw_Earchive_Patients.ToList ()
where allWord.All(word => (row.Pat_No.ToLower() + row.Pat_FirstName.ToLower() +
row.Pat_LastName.ToLower() + row.Pat_FatherName.ToLower() + row.Pat_NationalCode).Contains(word))
select new { row.Pat_No, row.Pat_FirstName, row.Pat_LastName, row.Pat_NationalCode };
از دوستان میخام نظرشونو بگن .ممنون
من به روش زیر در linq ، کوئری می زنم . وقتی پروفایلر sql میبینم همه جدول رو انتخاب میکنه و بر می گردونه و در خود برنامه شرط رو اعلام میکنه که فکر میکنم اصولی نباشه
var query = from row in Ld.Vw_Earchive_Pat_Rad_Pths.ToList()
where row.PAT_NO == Frm_Patient.PatNO
select new { row.ANS_TEXT, row.doctypename };
همچنین برای جست و جو در گرید از روش زیر استفاده میکنم که برای هر بار جست و جو دوباره کوئری روی sql انجام میشه که اینم بنظرم درست نیست
string[] allWord = txt_search.Text.Split ( ' ' );
var query = from row in Ld.Vw_Earchive_Patients.ToList ()
where allWord.All(word => (row.Pat_No.ToLower() + row.Pat_FirstName.ToLower() +
row.Pat_LastName.ToLower() + row.Pat_FatherName.ToLower() + row.Pat_NationalCode).Contains(word))
select new { row.Pat_No, row.Pat_FirstName, row.Pat_LastName, row.Pat_NationalCode };
از دوستان میخام نظرشونو بگن .ممنون