我有以下視圖模型,問題從庫將數據傳遞到視圖模型
public class SiteAdminCreateViewModel
{
public Customer Customer { get; private set; }
public CustomerSite CustomerSite { get; private set; }
public SelectList CustomerNames { get; private set; }
public SiteAdminCreateViewModel(CustomerSite customerSite, Customer customer)
{
CustomerSite = customerSite;
Customer = customer;
CustomerNames = new SelectList(customer.CustomerName);
}
}
而且在我的倉庫下面的方法返回客戶列表和CustomerSites列表
public IQueryable<CustomerSite> GetCustomerSites
{
get { return context.CustomerSites; }
}
public IQueryable<Customer> GetCustomers
{
get { return context.Customers; }
}
當我在我的控制器中實現視圖模型的即時通訊想要返回客戶列表以傳遞給視圖模型中的選擇列表。
public ViewResult Create()
{
CustomerSite customerSite = new CustomerSite();
var customer = repository.GetCustomers.ToList();
return View(new SiteAdminCreateViewModel(customerSite, customer));
}
但返回行引發錯誤
無法從System.Collections.Generic.List轉換「到」 CustomerOrders.Domain.Entities.Customer
我想這是因爲我有在Customer類型的Viewmodel中定義的客戶變量,但是我試圖傳遞一個客戶列表?
任何人都可以提供任何意見,我在哪裏錯了嗎?
我是否需要在viewmodel中定義Customer類型和CustomerNames選擇列表類型,我只定義了Customer對象,因此我可以使用它將客戶傳遞給選擇列表,但我不確定這是否是最好的方法來做到這一點?
任何人都可以爲新手提供的建議,將不勝感激。
感謝您的諮詢IVE改變的構造,可以爲您提供親切如何ammnend的IQueryable的方法從倉庫返回客戶,正好與任何意見ICollection的,因爲我得到另一次轉換錯誤,說明無法轉換從IQueryable的到ICollection的,再次感謝 – Liam
@Liam,使用'IEnumerable'呢? –
試過,但我仍然得到轉換錯誤無法從IEnumerable轉換爲ICollection。 – Liam