首页 > 解决方案 > 外键未出现在视图中

问题描述

谁能帮忙,我有一个包含外键(ProductCategory)的模型。我正在尝试调用外键的值,但它们没有出现在视图中,当我在控制器中放置断点时,所有字段都显示成功在原始结果视图中,但似乎它们没有被传递给视图。

注意我正在使用 dev express 生成视图

 public class Product
    {
        public int Id { get; set; }
        public int productCode { get; set; }
        public double price { get; set; }
        public int ProductCategoryId { get; set; }
        public virtual ProductCategory ProductCategory { get; set; }
        public Stock itemNo { get; set; }
    }
  [HttpGet]
        public async Task<IActionResult> Get(DataSourceLoadOptions loadOptions) {
            var product = _context.Product.Select(i => new {
                i.Id,
                i.productCode,
                i.price,
                i.ProductCategoryId,
                i.ProductCategory.categoryDescr      
            });

            return Json(await DataSourceLoader.LoadAsync(product, loadOptions));
        }
@{
    ViewData["Title"] = "Products";
}

<h2 class="content-block">Products</h2>

@(Html.DevExtreme().DataGrid<DevExtremeAspNetCoreApp1.Models.Product>()
    .DataSource(ds => ds.Mvc()
        .Controller("Products")
        .LoadAction("Get")
        .InsertAction("Post")
        .UpdateAction("Put")
        .DeleteAction("Delete")
        .Key("Id")
    )
    .RemoteOperations(true)
    .Columns(columns => {

        columns.AddFor(m => m.productCode);

        columns.AddFor(m => m.price);

        columns.AddFor(m => m.ProductCategoryId);

        columns.AddFor(m => m.ProductCategory.categoryDescr);
    })
    .Editing(e => e.Mode(GridEditMode.Popup)
        .AllowAdding(true)
        .AllowUpdating(true)
        .AllowDeleting(true)
        .Popup(p=>p
               .Title("Product")
               .ShowTitle(true)
               .Width(500)
               .Height(525)
              )
    )

    .Export(e => e.Enabled(true))
)

标签: asp.net-mvcasp.net-corec#-4.0devexpress-mvc

解决方案


尝试这个:

 var product = _context.Product.Select(i => new {
                i.Id,
                i.productCode,
                i.price,
                i.ProductCategoryId,
                ProductCategoryDesc=i.ProductCategory.categoryDescr      
            });

.....

 columns.AddFor(m => m.ProductCategoryDesc);

推荐阅读