جستجوی بین تاریخ در کد فرس
سلام من با کد فرس دارم کار میکنم وقتی یک جستجو بین دو تاریخ انجام میذم این خطا میده بهم
نقل قول:
The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
اینم کد جستجو
var DataSource = db.CustomerPurchasingPowerr.Get(x => x.Archive==1
&& (x.Customer.name.Contains(texNameCu.Text) || IsNullOrEmpty(texNameCu.Text))
&& (x.Customer.mobile.Contains(TexMobileCu.Text) || IsNullOrEmpty(TexMobileCu.Text))
&& (x.MelkType == combTypeProperty.Text || IsNullOrEmpty(combTypeProperty.Text))
&& ( IsNullOrEmpty(Date_AZ.Text)|| x.Customer.UserrRecord.Value.Date >= Date_AZ.DateTime.Date) && (IsNullOrEmpty(Date_AZ.Text) || x.Customer.UserrRecord.Value.Date <= Date_TA.DateTime.Date)
)
.Select(x => new
{
x.Customer.Customer_id,
x.Customer.CodeDisplay,
x.Customer.name,
x.Customer.mobile,
x.Customer.phone,
x.MelkType
}).OrderByDescending(x => x.CodeDisplay).ToList();
نقل قول: جستجوی بین تاریخ در کد فرس
با سلام
کوئری یا بهتر بگم extention در code first و db first برای CRUD فرقی نداره
اکستنشنی که شما مینویسید اگر دیباگ کنید میبینید که یک کد SQL تولید و توسط ADO.NET اجرا میکنه
متاسفانه بعضی وقت ها با بعضی از کلاس ها و توابع مشکل پیدا میکنه و نمیتونه خوب ترجمه کنه بعضی وقتها هم نه پس بهتره قبل از Ex بیاید اون رو Initialize کنید
مثلا :
x.Customer.UserrRecord.Value.Date >= Date_AZ.DateTime.Date
//رو به شکل
DateTime DTime=Date_AZ.DateTime.Date; //Initialize
x.Customer.UserrRecord.Value.Date >= DTime
// OR :
string FirstName=txtFirstName.Text.Trim(); //Initialize
x.Customer.FirstName == FirstName
امیدوارم منظورو خوب رسونده باشم
موفق باشید
نقل قول: جستجوی بین تاریخ در کد فرس
نقل قول:
نوشته شده توسط
danialafshari
با سلام
کوئری یا بهتر بگم extention در code first و db first برای CRUD فرقی نداره
اکستنشنی که شما مینویسید اگر دیباگ کنید میبینید که یک کد SQL تولید و توسط ADO.NET اجرا میکنه
متاسفانه بعضی وقت ها با بعضی از کلاس ها و توابع مشکل پیدا میکنه و نمیتونه خوب ترجمه کنه بعضی وقتها هم نه پس بهتره قبل از Ex بیاید اون رو Initialize کنید
مثلا :
x.Customer.UserrRecord.Value.Date >= Date_AZ.DateTime.Date
//رو به شکل
DateTime DTime=Date_AZ.DateTime.Date; //Initialize
x.Customer.UserrRecord.Value.Date >= DTime
// OR :
string FirstName=txtFirstName.Text.Trim(); //Initialize
x.Customer.FirstName == FirstName
امیدوارم منظورو خوب رسونده باشم
موفق باشید
ممنون ولی باز برای تاریخ این خطا میده
نقل قول:
The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
نقل قول: جستجوی بین تاریخ در کد فرس
من اینطوری حل کردم
DbFunctions.TruncateTime(x.Customer.UserrRecord).V alue >= Date_AZ.DateTime.Date &&(IsNullOrEmpty(Date_TA.Text)||DbFunctions.Trunca teTime(x.Customer.UserrRecord).Value <= Date_TA.DateTime.Date)