
نوشته شده توسط
samiasoft
سلام نمیدانم آیا در این باره در انجمن تابحال بحث شده یا خیر ...چون با جستجو موردی پیدانکردم
یکی از ستون های جدول دیتابیسم بصورت nvarchar(5) هستش و همیشه مقدار عددی میگیره.
میخواستم هنگام لود کردن در دیتاگرید شرطی بزارم که برای مثال رکورد هایی که این ستونش حداکثر مقدارش 100 باشه رو پیداکنه ...اومدم اینطور نوشتم :
int zirbana=100;
var search = (from rows in database.Tbl_Apartments
where Convert.ToInt32(rows.zirBana.ToString()) <= zirbana
select new
{
rows.id_Apartment,
rows.sellerName,
rows.foroshi,
rows.zirBana,
}).ToList();
در این حالت با خطای زیر مواجه میشوم :
LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression
جز اینکه بیام اون ستون را از نوع int درنظر بگیریم آیا راهی نداره؟
با سلام
این راه را هم امتحان کنید...
int zirbana=100;
var search = (from rows in database.Tbl_Apartments
where cast(rows.zirBana as Edm.Int32) <= zirbana
select new
{
rows.id_Apartment,
rows.sellerName,
rows.foroshi,
rows.zirBana,
}).ToList();
البته من با نوع nvarchar تست نکردم چون که cast با primitive types کار میکنه!