2

My Techie Bretheren (もちろん、Sisteren も!)、

次のエンティティを持つ LinqToSql データ モデルがあります: データ モデル http://danimal.acsysinteractive.com/images/advisor.jpg

特定のオフィスのすべてのアドバイザーを取得する必要があり、オフィス内の順序で並べ替えられます。私は結合で動作する最初の部分を持っています:

public static List<Advisor>GetOfficeEmployees(int OfficeID)
{
    List<Advisor> lstAdvisors = null;
    using (AdvisorDataModelDataContext _context = new AdvisorDataModelDataContext())
    {
        var advisors = from adv in _context.Advisors
                       join advisoroffice in _context.OfficeAdvisors
                           on adv.AdvisorId equals advisoroffice.AdvisorId
                       where advisoroffice.OfficeId == OfficeID
                       select adv;

        lstAdvisors = advisors.ToList();

    }
    return lstAdvisors;
}

しかし、私は疲れた脳を order by 節に巻き込むことができないようです。誰でも提案できますか?

4

3 に答える 3

0
from adv in _context.Advisors
where adv.OfficeAdvisor.Any(off => off.OfficeId == officeID)
order adv by adv.OfficeAdvisor.First(off => off.OfficeId = officeID).Sequence
select adv;
于 2008-09-30T20:38:46.723 に答える
0
public static List<Advisor>GetOfficeEmployees(int OfficeID)
{
    List<Advisor> lstAdvisors = null;
    using (AdvisorDataModelDataContext _context = new AdvisorDataModelDataContext())
    {
        var advisors = from adv in _context.Advisors
                       join advisoroffice in _context.OfficeAdvisors
                           on adv.AdvisorId equals advisoroffice.AdvisorId
                       where advisoroffice.OfficeId == OfficeID
                       group adv by adv.OfficeId into g
                       order by g.Sequence
                       select g;

        lstAdvisors = advisors.ToList();

    }
    return lstAdvisors;
}

注:現在、これをVisual Studioでテストすることはできませんが、機能するはずです。

于 2008-09-30T20:40:50.417 に答える
0

次のように order by 句を追加できます。

var advisors = from adv in _context.Advisors
                  join advisoroffice in _context.OfficeAdvisors
               on adv.AdvisorId equals advisoroffice.AdvisorId
               where advisoroffice.OfficeId == OfficeID
               orderby advisoroffice.Sequence //  < -----
               select adv;
于 2008-10-01T17:50:32.283 に答える