我正在尝试确定更改数据模型或linq查询的最佳方式,以减少被查询的冗余SQL列。
我有一个客户模型、项目模型和customerItem联接实体。
我需要分别来自客户模型和项目模型的客户名称和项目名称。
如果我使用SQL探查器查看SQL,那么它将从所有3个表中选择*。
如何从customerITem仅包括customer.customerName,Item.ItemName中选择*?
var aMRSContext=_context.CustomerItems.Include(c=>c.Customer(.Include(c=>c.Item(;
您可以使用ViewModel来显示数据:
public class CustomerItemVM
{
public string CustomerName { get; set; }
public string ItemName { get; set; }
}
控制器
var aMRSContext = _db.CustomerItems
.Select(c=>new CustomerItemVM {
CustomerName=c.Customer.CustomerName,
ItemName=c.Item.ItemName
})
.ToList();