PDA

View Full Version : سوال: مشکل مقدار int در DynamicQuery



Iran58
چهارشنبه 24 بهمن 1397, 14:00 عصر
سلام
من دستور زیر را نوشته ام

public ICollection<Table_1> Search(
string natiolId, string lName, string fName, Int32? sex,
Expression<Func<Table_1, bool>> orderBy = null)
{
var db = new TestEntities();
using (db)
{
var q = db.Table_1.Where(u => u.NationalID.StartsWith(natiolId));
q = q.Where(c => c.LastName.StartsWith(lName));
q = q.Where(c => c.FirstName.StartsWith(fName));
q = q.Where(c => c.Sex.ToString().Contains(sex.ToString()));
if (orderBy != null) q = q.OrderBy(orderBy);
return q.ToList();
}
}

کد بالا در مهمه موارد بجز مورد زیر درست کار میکند
وقتی sex(مقدار int32?) را برابر null قرار می دهم هیچ داده ای برنمیگرداند درصورتیکه برای اسم وفامیلی و کد ملی این مشکل وجود ندارد
باید برای رفع این مشکل باید چکار کنم

Mahmoud.Afrad
پنج شنبه 25 بهمن 1397, 00:38 صبح
اگر null به معنی هر دو جنسیت هست با if چک کنید در صورت نال نبودن شرط اعمال بشود مثل orderby.