我有一个类似下面的模式,
public int userId{ get; set; }
public string userName{ get; set; }
public int categoryId { get; set; }
[ForeignKey("categoryId")]
public virtual category categories { get; set; }
我正在使用ViewComponents,这是我的Invoke方法;
public IViewComponentResult Invoke()
{
var users = db.Users.OrderByDescending(x => x.userId);
return View(users);
}
这是我的View Component的cshtml页面;
@model IEnumerable<users>
@foreach (var user in Model)
{
<text>
{ label: "@user.userName - @user.categories.categoryName},
</text>
}
但是对于如何,我无法获得类别名称的价值。当我这样做时,我得到500内部错误。
那么如何在ASP.NET MVC CORE中的View Component中获取外部表值。
感谢。
答案 0 :(得分:0)
确定一件事创建一个viewModel并提及你需要的所有列,之后在User和Category表之间放置一个连接并传递如下所示的数据。 以这种方式进行虚拟查询您的代码肯定可以工作..只需根据您的列和需求进行更改
var query = from book in context.BOOKs
join publisher in context.Publishers
on book.PublisherId equals publisher.Id
select new BookModel {
Id = book.Id,Title=book.Title,
PublisherName=publisher.Name,Auther = book.Auther,
Year = book.Year,Price=book.Price
};