Subong 2.1 Sqlquery متعددة أين () S؟
سؤال
أقوم ببناء sqlquery لدعم شاشة الاستعلام المخصصة.
أريد شيئا من هذا القبيل:
SqlQuery q = new Select().From<VwInstitutes>();
if (!string.IsNullOrEmpty(username))
{
q.Where(VwInstitutes.Columns.AssignedUser).IsEqualTo(username);
}
if (!string.IsNullOrEmpty(stage))
{
q.Where(VwInstitutes.Columns.Stage).IsEqualTo(stage);
}
مشكلتي هي-تصادم متعددة أين () لا يبدو أنه يعمل-هل هذا صحيح؟
الآن أنا أكتب هذا ، لكنه قبيح للغاية.
if (!string.IsNullOrEmpty(username))
{
if (q.HasWhere) q.And(VwInstitutes.Columns.AssignedUser).IsEqualTo(username);
else q.Where(VwInstitutes.Columns.AssignedUser).IsEqualTo(username);
}
if (!string.IsNullOrEmpty(stage))
{
if (q.HasWhere) q.And(VwInstitutes.Columns.Stage).IsEqualTo(stage);
else q.Where(VwInstitutes.Columns.Stage).IsEqualTo(stage);
}
من فضلك قل لي أن هناك تعبيرًا أفضل لهذا السيناريو. شكرًا!
المحلول
ابدأ استفسارك مع مكان يقييمه دائمًا إلى True.
new Select().From().Where("1").IsEqualTo("1");
ثم بناء بقية الاستعلام مع Q. و. نرى هذا الموضوع كذلك.
لا تنتمي إلى StackOverflow