[C#] Как связать данные LINQ с выпадающим списком


Answers

protected void BindMarketCodes()
{
    using(var dc = new LINQOmniDataContext())
    {
        dd2.DataSource = from p in db.lkpMarketCodes
                         orderby 0
                         select new {p.marketName, p.marketCodeID };
        dd2.DataTextField = "marketName";
        dd2.DataValueField = "marketCodeID";
        dd2.DataBind();
    }
}

// no need to use ToList()
// no need to use a temp list;
// using an anonymous type will limit the columns in your resulting SQL select
// make sure to wrap in a using block;
Question

Последние две строки этого кода работают некорректно - результаты возвращаются из запроса LINQ. Я просто не знаю, как успешно привязать указанные столбцы в результатах к текстовому полю и полю значения выпадающего списка:

    protected void BindMarketCodes()
    {
        List<lkpMarketCode> mcodesList = new List<lkpMarketCode>();

        LINQOmniDataContext db = new LINQOmniDataContext();

        var mcodes = from p in db.lkpMarketCodes 
                        orderby 0
                        select p;

        mcodesList = mcodes.ToList<lkpMarketCode>();

        //bind to Country COde droplist
        dd2.DataSource = mcodesList;
        dd2.DataTextField = mcodesList[0].marketName;
        dd2.DataValueField = mcodesList[0].marketCodeID.ToString();

    }