نمایش اطلاعات دو ستون در یک لیست باز شو

3/22/2017 MVC
3732

تصمیم گرفتم نام و نام خانوادگی را در یک لیست باز شو نمایش دهیم، با استفاده از ViewModel میتوان این چنین کرد اما میخواستم با همان Model انجام دهیم 

در ابتدا کد های ActionResult مربوط به Create اینچنین بود. 

public virtual ActionResult Create()
        {
            

           ViewBag.CustomerId = new SelectList(db.Customers, "Id", "FirstName");
            return PartialView(MVC.HeadAccounts.Views._Create);
        }

در کد بالا از t4MVC استفاده شده است و همچنین partial مربوط به Create  به صورت bootstrapModal  نمایش داده شده است 

برا ی تغییر کد را به این صورت تغییر دادیم

public virtual ActionResult Create()
        {
            var Custom = db.Customers.Select(s => new
            {
                Id = s.Id,
                FullName = $"{s.FirstName}--{ s.LastName}" 
            }).ToList();
            ViewBag.CustomerId = new SelectList(Custom, "Id", "FullName");

         
            return PartialView(MVC.HeadAccounts.Views._Create);
        }

اما باز هم با خطا مواجهه شدم ، برای رفع مشکل کافی است .AsEnumerable() را به Linq اضافه کنیم ، و کد نهایی به این صورت خواهد بود

   public virtual ActionResult Create()
        {
            var Custom = db.Customers.AsEnumerable().Select(s => new
            {
                Id = s.Id,
                FullName = $"{s.FirstName}--{ s.LastName}" 
            }).ToList();
            ViewBag.CustomerId = new SelectList(Custom, "Id", "FullName");

          
            return PartialView(MVC.HeadAccounts.Views._Create);
        }