Asp.net mvc 4 在一个网格Kendo UI中绑定多个表

Asp.net mvc 4 在一个网格Kendo UI中绑定多个表,asp.net-mvc-4,razor,kendo-ui,grid,kendo-grid,Asp.net Mvc 4,Razor,Kendo Ui,Grid,Kendo Grid,我有一个使用剑道UI管理子类别的表。现在,我想添加一个字段,为具有ProductName、ProductID的每个产品创建一张新照片,但是PhotoId和ProductName在另一个表中。如何在一个网格中绑定两个或多个表 控制器: public ActionResult Index() { var subcateViewModel = GetSubProduct(); return View(subcateViewModel);

我有一个使用剑道UI管理
子类别的表。现在,我想添加一个字段,为具有
ProductName
ProductID
的每个产品创建一张新照片,但是
PhotoId
ProductName
在另一个表中。如何在一个网格中绑定两个或多个表

控制器:

 public ActionResult Index()
        {
            var subcateViewModel = GetSubProduct();
            return View(subcateViewModel);
        }
        //Get SubCategory
        public ActionResult GetSub([DataSourceRequest] DataSourceRequest request)
        {
            return Json(GetSubProduct().ToDataSourceResult(request));
        }
private IEnumerable<SubCateViewModel> GetSubProduct()
        {
            var context = new AdvenDBEntities();
            var subcate = context.ProductSubcategories.Select(sub => new SubCateViewModel
                {
                    ProductSubcategoryID = sub.ProductSubcategoryID,
                    ProductCategoryID = sub.ProductCategoryID,
                    NameofBike = sub.NameofBike,
                    isSelected = sub.isSelected,
                });
            return subcate;
        }
public ActionResult Index()
{
var subcateViewModel=GetSubProduct();
返回视图(subcateViewModel);
}
//获取子类别
public ActionResult GetSub([DataSourceRequest]DataSourceRequest请求)
{
返回Json(GetSubProduct().ToDataSourceResult(请求));
}
私有IEnumerable GetSubProduct()
{
var context=new AdvenDBEntities();
var subcate=context.ProductSubcategories.Select(sub=>newsubcateViewModel
{
ProductSubcategoryID=sub.ProductSubcategoryID,
ProductCategoryID=子ProductCategoryID,
NameofBike=sub.NameofBike,
isSelected=sub.isSelected,
});
返回子类;
}

是否有与此问题相关的示例?

剑道网格不绑定到表,它绑定到对象,在本例中是您的ViewModel。在LinQ查询中,您将构建一个连接2个或多个表的语句。像这样的

public List<OrderGridViewModel> GetOrders()
    {
        using (var context = new TropicalServerEntities())
        {
            return (from cust in context.tblCustomer
                    join ord in context.tblOrder on cust.CustNumber equals ord.OrderCustomerNumber
                    select new OrderGridViewModel
                    {
                        TrackingNo = ord.OrderTrackingNumber,
                        RouteNo = (int)ord.OrderRouteNumber,
                        OrderId = ord.OrderID,
                        OrderDate = (DateTime)ord.OrderDate,
                        CustomerName = cust.CustName,
                        CustomerId = cust.CustID,
                        Address = cust.CustOfficeAddress1
                    }).Take(10).ToList();
        }
    }
public List GetOrders()
{
使用(var context=new TropicalServerEntities())
{
返回(来自context.tblCustomer中的cust)
在cust.CustNumber上的context.tblOrder中加入ord等于ord.OrderCustomerNumber
选择新建OrderGridViewModel
{
TrackingNo=ord.OrderTrackingNumber,
RouteNo=(int)order.OrderRouteNumber,
OrderId=order.OrderId,
OrderDate=(DateTime)order.OrderDate,
CustomerName=cust.CustName,
CustomerId=cust.CustID,
地址=cust.custofficeaddress 1
}).采取(10)措施;
}
}