PDA

View Full Version : نوشتن این طور کوئری امکان پذیر هست؟



R_Rajaee_Rad
شنبه 02 آذر 1392, 21:32 عصر
سلام
میشه کوئری همراه با join رو نوشت که اگر join هاش نتجیه نداشت مقداری که از شرط اصلی اش گرفتیم رو نشون بده؟


var query = (from var in bank.UserProfiles
where var.UserId == id
join p in bank.webpages_UsersInRoles on var.UserId equals p.UserId
join asa in bank.webpages_Roles on p.RoleId equals asa.RoleId


مثلا اینجا شاید join ها(خطوط 3 و 4) نتونن مقداری رو پیدا کنن اما مطمئنیم که خط 1 و 2 صد در صد یک مقداری رو پیدا میکنه.
من میخوام اگر قرمز ها null شدن لااقل مقادیر دیگه بره توی کوئری

Mahmoud.Afrad
پنج شنبه 07 آذر 1392, 19:55 عصر
قسمت اول رو جدا کن بعد چک کن اگر کوئری دوم خروجی نداشت کوئری اول رو استفاده کن:

var q1 = from u in bank.UserProfiles
where u.UserId == id
select u;
var query = (from i in q1
where i.UserId == id
join p in bank.webpages_UsersInRoles on i.UserId equals p.UserId
join asa in bank.webpages_Roles on p.RoleId equals asa.RoleId
...)
if (query.Any())
{
dataGridView1.DataSource = query;
}
else
{
dataGridView1.DataSource = q1;
}