1

私はこのクエリを持っています:

Course c = db.Courses.Find(id);
var pics = from pic in db.PersonnelInCourses
    where pic.PersonnelID == User.Identity.Name &&
        pic.Course.TitleID == c.TitleID &&
        pic.Course.BeginDate.Substring(0, 4) == PersianDateTime.Now.Year.ToString()
    select pic;

そして、L2E が.Substring()メソッドをサポートしていないことがわかりました。では、どうすれば欲しいものを手に入れることができるのでしょうか?!

タンクス

4

3 に答える 3

2

それを見つけた!

string year = PersianDateTime.Now.Year.ToString();           
Course c = db.Courses.Find(id);
var pics = from pic in db.PersonnelInCourses
   where pic.PersonnelID == User.Identity.Name &&
       pic.Course.TitleID == c.TitleID && 
       pic.Course.BeginDate.Contains(year)                         
   select pic;

ご協力ありがとうございました...

于 2013-05-30T10:33:47.547 に答える
1

それを試してみてください

Course c = db.Courses.Find(id);
var pics = from pic in db.PersonnelInCourses
    where pic.PersonnelID == User.Identity.Name &&
        pic.Course.TitleID == c.TitleID &&
        pic.Course.BeginDate.Substring(0, 4).Equals(PersianDateTime.Now.Year.ToString()) 
    select pic;

BeginDate の型がわからない?? 私は DateTime です。ToString() を呼び出します。

于 2013-05-30T10:13:04.647 に答える
0

'Contains' の危険性は、文字列全体を検索することです。日付のフォーマット方法によっては、問題が発生する可能性があります。例: 日付形式が「yyyyMMdd」の場合、問題が発生する可能性はほとんどありません (1232 年より前の日付を挿入する予定がない限り)。「yyyyMMddHHmmss」の場合、ランダムで見つけにくいバグが予想されます。

于 2013-05-30T12:07:33.903 に答える