PDA

View Full Version : جستجو براساس ماه های شمسی در حالی که تاریخ شمسی ذخیره شده باشه توسط Linq



salehsam
پنج شنبه 05 دی 1392, 17:23 عصر
سلام دوستان
من میخوام یه کوئری بزنم که تمام رکوردهایی که ماه شمسی شون برابر یک ماه خاصه رو نشون بده
تاریخ رو به صورت میلادی و فرمت date ذخیره کردم و با EF کار میکنم
به نظرتون چیکار کنم؟
مبدونم که با PersianCalendar راحت میشه ماه تاریخ شمسی رو از تاریخ میلادی به دست آورد ولی نمیدونم چجوری کوئری رو بنویسم!
ممنون میشم کمکم کنین

Mahmoud.Afrad
پنج شنبه 05 دی 1392, 19:24 عصر
یک کلاس برای متدهای الحاقی به صورت زیر در نظر بگیر و کوئری رو در اون بنویس

static public class MyExtentionMethods
{
static public IEnumerable<tbl> GetResult(this IEnumerable<tbl> source, int month)
{
PersianCalendar pc = new PersianCalendar();
return from s in source
let m = pc.GetMonth(s.tarikh)
where month == m
select s;
}
}


حالا برای استفاده به صورت زیر ازش در کوئری های خودت استفاده کن

Database1Entities db = new Database1Entities();
var result = from t in db.tbl.GetResult(1)
select t;

dataGridView1.DataSource = result.ToList();

salehsam
پنج شنبه 05 دی 1392, 20:42 عصر
ممنون دوست من
میشه یه کم بیشتر توضیح بدین؟
من تا به حال با این شیوه کار نکردم
بازم ممنون