Mostafa_Dindar
جمعه 27 فروردین 1389, 09:14 صبح
سلام ،
نميدونستم عنوان رو چطور انتخاب كنم . اگر نا مناسب هست ، مديران لطف كنند و اصلاح كنند .
از اونجايي كه اين اولين پروژه اي هست كه قصد دارم باLINQ TO SQL بنويسم ، شايد سوال من خيلي مبتدي باشد .
سوال من :
من ميخواهم تاريخ را به فارسي در UI نمايش بدم ، قبلا (درست يا غلط) به اين صورت عمل ميكردم كه به ازاي هر فيلد از نوع تاريخ در ديتابيس ، كه يك Property هم از نوع تاريخ در Bussiness Object خودم داشتم يك فيلد از نوع رشته ميگرفتم و در Getter آن توسط يك متد آن را به رشته فارسي تبديل ميكردم .
مثلا :
private DateTime _insertDate;
/// <summary>
/// تاريخ درج
/// </summary>
public DateTime InsertDate
{
get { return _insertDate; }
set { _insertDate = value; }
}
// اين فيلد در ديتابيس وجود ندارد و از نوع رشته است ، اين فيلد به كنترلهاي رابط كاربر بايند ميشود
public string PInsertDate
{
get { return FarsiCalendar.ToPersianDate(_insertDate); }
}
حال من نميدونم در LINQ چطور اين كار ( يا روش بهتري كه شما پيشنهاد ميكنيد ) را پياده سازي كنم .
اگر من اينطور بنويسم :
ToosDataContext db = new ToosDataContext();
var newslist = from p in db.News
select new {p.NewsId,p.Title,tarikh =MD.Utility.FarsiCalendar.ToPersianDate( p.ReleaseDate)};
GridView1.DataSource = newslist;
GridView1.DataBind();
با خطاي RunTime :
Method 'System.String ToPersianDate(System.Object)' has no supported translation to SQL.
مواجه ميشم .
من چندين روش ديگر كه به ذهنم ميرسيد رو امتحان كردم كه متاسفانه جواب نداد .
به نظر شما من چطور ميتونم اين كار رو عملي كنم و يا شما براي اين موارد چيكار ميكنيد ؟
سپاسگذارم .
نميدونستم عنوان رو چطور انتخاب كنم . اگر نا مناسب هست ، مديران لطف كنند و اصلاح كنند .
از اونجايي كه اين اولين پروژه اي هست كه قصد دارم باLINQ TO SQL بنويسم ، شايد سوال من خيلي مبتدي باشد .
سوال من :
من ميخواهم تاريخ را به فارسي در UI نمايش بدم ، قبلا (درست يا غلط) به اين صورت عمل ميكردم كه به ازاي هر فيلد از نوع تاريخ در ديتابيس ، كه يك Property هم از نوع تاريخ در Bussiness Object خودم داشتم يك فيلد از نوع رشته ميگرفتم و در Getter آن توسط يك متد آن را به رشته فارسي تبديل ميكردم .
مثلا :
private DateTime _insertDate;
/// <summary>
/// تاريخ درج
/// </summary>
public DateTime InsertDate
{
get { return _insertDate; }
set { _insertDate = value; }
}
// اين فيلد در ديتابيس وجود ندارد و از نوع رشته است ، اين فيلد به كنترلهاي رابط كاربر بايند ميشود
public string PInsertDate
{
get { return FarsiCalendar.ToPersianDate(_insertDate); }
}
حال من نميدونم در LINQ چطور اين كار ( يا روش بهتري كه شما پيشنهاد ميكنيد ) را پياده سازي كنم .
اگر من اينطور بنويسم :
ToosDataContext db = new ToosDataContext();
var newslist = from p in db.News
select new {p.NewsId,p.Title,tarikh =MD.Utility.FarsiCalendar.ToPersianDate( p.ReleaseDate)};
GridView1.DataSource = newslist;
GridView1.DataBind();
با خطاي RunTime :
Method 'System.String ToPersianDate(System.Object)' has no supported translation to SQL.
مواجه ميشم .
من چندين روش ديگر كه به ذهنم ميرسيد رو امتحان كردم كه متاسفانه جواب نداد .
به نظر شما من چطور ميتونم اين كار رو عملي كنم و يا شما براي اين موارد چيكار ميكنيد ؟
سپاسگذارم .