جستجو با دستورات Entity Framework در حروف بزرگ و کوچک انگلیسی
سلام
میخوام یک جستجو با انتیتی فریم ورک انجام بدم ولی مشکل دارم. فرض کنید 2 کاربر در جدول Users ایجاد شده باشند. نام یکی از کاربران ali ذخیره شده و نام کاربر دیگه Ali. یعنی نام این کاربران در حرف اول از لحاظ بزرگی یا کوچکی متفاوت هست. حالا وقتی جستجو انجام میشه اگر کلمه جستجو شده ali باشه فقط ردیفی پیدا میشه که ali هست و اگر Ali جستجو بشه هم فقط ردیفی پیدا میشه که Ali هست.
مشکل بزرگتر این هست که اگر مثلا ALI جستجو بشه هیچ اطلاعاتی نمایش داده نمیشه. یعنی به عبارتی این دستورات به حروف بزرگ و کوچک حساس هستن.
پاسخ این سوال در لینک زیر توضیح داده شده :
جستجو با استفاده از دستورات Entity Framework
جستجو با استفاده از دستورات Entity Framework در حروف بزرگ و کوچک
استفاده از تابع ToLower
شما میتونید توی کوئری خودتون با استفاده از تابع ToLower هم عبارت سرچ شده رو به صورت حروف کوچک تبدیل کنید و هم نتایج حاصل از اجرای کوئری در دیتابیس رو. برای این منظور میتونید از کد زیر استفاده کنید
var Query = (from a in _db.Users.Where(u => u.firstname.ToLower().Contains(searchValue.ToLower()))).ToList();
در این صورت تمامی نتایج برگشتی از سمت دیتابیس به صورت حروف کوچک میشن و کلمه سرچ شده هم تبدیل به حروف کوچک میشه و جستجو در همه ردیف ها به درستی انجام میشه.
استفاده از ToUpper
با استفاده از دستور ToUpper هم میشه دقیقا جستجو رو فارغ از بزرگ یا کوچک بودن حروف انجام داد. این دستور هم مثل دستور ToLower هست با این تفاوت که عبارت جستجو شده و نتایج حاصل از جستجو رو به حروف بزرگ تبدیل میکنه و جستجو رو انجام میده. به قطعه کد زیر دقت کنید
var Query = (from a in _db.Users.Where(u => u.firstname.ToUpper().Contains(searchValue.ToUpper()))).ToList();
به این ترتیب می تونید به راحتی جستجو با استفاده از دستورات Entity Framework رو بدون در نظر گرفتن بزرگی یا کوچکی حروف انجام بدید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- رفع خطا در مایگریشن - Specify ON DELETE NO ACTION or ON UPDATE NO ACTION
- استفاده از دستور Group By در انتیتی فریم ورک
- محاسبه مجموع فروش بازاریاب و فروشنده در Sql Server
- کاربرد متد AsNoTracking در انتیتی فریم ورک
- فرق بین IEnumerable و IQueryable در دستورات انتیتی فریم ورک چیست ؟
- فرق بین انتیتی فریم ورک با LINQ چیست
- دلیل خطای Keyword not supported: data source در انتیتی فریم ورک Code First
- ایجاد کانکشن استرینگ داینامیک در WPF (تغییر پایگاه داده و سرور در نرم افزار)
- تبدیل کاراکترهای عربی به فارسی در سی شارپ | تبدیل کاراکتر "ی" به "ی" در WPF
- جا به جایی بین رکوردها در DataGrid در WPF و نمایش در اطلاعات تکست باکس