我是新來的Lambda期待與Linq實體,並希望在這裏得到一些幫助。實體框架在ViewModel和多對多關係中的Lambda表達式
我在我的主頁上使用ViewModel來顯示2列,位置和公司下的文章列表。
文章類的簡化圖如下所示:
public class Article
{
[Key]
public int ArticleID { get; set; }
public string Title { get; set; }
public virtual ICollection<Location> Locations { get; set; }
public virtual ICollection<Company> Companies { get; set; }
}
和位置是這樣的:
public class Location
{
[Key]
public int LocationID { get; set; }
public string LocationName { get; set; }
public virtual ICollection<Article> Articles { get; set; }
}
最後,一個公司看起來是這樣的:
public class Company
{
[Key]
public int CompanyID { get; set; }
public string CompanyName { get; set; }
public virtual ICollection<Article> Articles { get; set; }
}
所以我有一個多對多的文章和公司之間的關係,文章和地點。我想在我的網頁上展示的是與地點列表匹配的文章,以及與公司列表相匹配的文章。
我有一個視圖模型:
public class HomePageViewModel
{
public IEnumerable<Article> CompanyArticles { get; set; }
public IEnumerable<Article> LocationArticles { get; set; }
}
而且我與Lambda表達式返回基於公司和地點,我會提供的名單上的文章中掙扎。即:
public ActionResult Index()
{
var Companies = new List<Company>
{
new Company {CompanyName ="foo"},
new Company {CompanyName ="bar"}
};
var Locations= new List<Location>
{
new Location {LocationName ="UK"},
new Location {LocationName ="US"}
};
var viewModel = new HomePageViewModel();
viewModel.CompanyArticles = // what do I put here?
viewModel.LocationArticles = // what do I put here?
return View(viewModel);
}
在此先感謝您的幫助!
完美!到底是什麼我以後。 –