Mostafa_Dindar
چهارشنبه 09 تیر 1389, 12:53 عصر
سلام
قبلا (درست يا غلط) برای نمایش تاریخ فارسی در UI به اين صورت عمل ميكردم كه به ازاي هر فيلد از نوع تاريخ در ديتابيس ، كه يك Property هم از نوع تاريخ در Bussiness Object خودم داشتم يك فيلد از نوع رشته ميگرفتم و در Getter آن توسط يك متد Utility آن را به رشته فارسي تبديل ميكردم .
در این حالت در کنترلهای داده که به کلاس متناظر بایند میشد یک فیلد اضافه تر از نوع رشته ای ولی تاریخ فارسی داشتم و فیلد تاریخ میلادی رو Exclude میکردم .
مثال
private DateTime _insertDate;
/// <summary>
/// تاریخ درج
/// </summary>
public DateTime InsertDate
{
get { return _insertDate; }
set { _insertDate = value; }
}
// اين فيلد در ديتابيس وجود ندارد و از نوع رشته است ، اين فيلد به كنترلهاي رابط كاربر بايند ميشود
public string PInsertDate
{
get { return FarsiCalendar.ToPersianDate(_insertDate); }
}
حال من نميدونم در LINQ To SQL چطور اين كار ( يا روش بهتري كه شما پيشنهاد ميكنيد ) را پياده سازي كنم .
نکته ای که به ذهنم رسید , یک فیلد دیگر به Entity خودم در فایل dbml اضافه کنم به صورت ReadOnly , و در آنجا در Getter فیلد مورد نظر از نوع DateTime رو به رشته ای از نوع تاریخ فارسی تبدیل کنم .
ولی در RunTime همیشه با خطای Invalid column name مواجه میشم .
اصولا شما برای تبدیل تاریخ میلادی که در دیتابیس هست , برای نمایش به کاربر در Linq to Sql از چه راهی استفاده میکنید. یا برای من چه راه حلی رو پیشنهاد میکنید ؟
پیشاپیش از توجه شما ممنونم .
قبلا (درست يا غلط) برای نمایش تاریخ فارسی در UI به اين صورت عمل ميكردم كه به ازاي هر فيلد از نوع تاريخ در ديتابيس ، كه يك Property هم از نوع تاريخ در Bussiness Object خودم داشتم يك فيلد از نوع رشته ميگرفتم و در Getter آن توسط يك متد Utility آن را به رشته فارسي تبديل ميكردم .
در این حالت در کنترلهای داده که به کلاس متناظر بایند میشد یک فیلد اضافه تر از نوع رشته ای ولی تاریخ فارسی داشتم و فیلد تاریخ میلادی رو Exclude میکردم .
مثال
private DateTime _insertDate;
/// <summary>
/// تاریخ درج
/// </summary>
public DateTime InsertDate
{
get { return _insertDate; }
set { _insertDate = value; }
}
// اين فيلد در ديتابيس وجود ندارد و از نوع رشته است ، اين فيلد به كنترلهاي رابط كاربر بايند ميشود
public string PInsertDate
{
get { return FarsiCalendar.ToPersianDate(_insertDate); }
}
حال من نميدونم در LINQ To SQL چطور اين كار ( يا روش بهتري كه شما پيشنهاد ميكنيد ) را پياده سازي كنم .
نکته ای که به ذهنم رسید , یک فیلد دیگر به Entity خودم در فایل dbml اضافه کنم به صورت ReadOnly , و در آنجا در Getter فیلد مورد نظر از نوع DateTime رو به رشته ای از نوع تاریخ فارسی تبدیل کنم .
ولی در RunTime همیشه با خطای Invalid column name مواجه میشم .
اصولا شما برای تبدیل تاریخ میلادی که در دیتابیس هست , برای نمایش به کاربر در Linq to Sql از چه راهی استفاده میکنید. یا برای من چه راه حلی رو پیشنهاد میکنید ؟
پیشاپیش از توجه شما ممنونم .