Linq到Sql投影帮助
我已经到了极限。需要你的帮助 以下是我的表结构(所有linq到sql对象): 所以我需要做一个如下的投影Linq到Sql投影帮助,linq,linq-to-sql,projection,Linq,Linq To Sql,Projection,我已经到了极限。需要你的帮助 以下是我的表结构(所有linq到sql对象): 所以我需要做一个如下的投影 var q2=from k in GetAllKits()//returns IQueryable<InventoryKit> select new VMPublication()//ViewModel Object { ID = k.ID,
var q2=from k in GetAllKits()//returns IQueryable<InventoryKit>
select new VMPublication()//ViewModel Object
{
ID = k.ID,
Name = k.Name,
WebAmountInStock = ,//need to get the Min() AmtInStock from InventoryItems here
ItemCode = k.ItemCode,
WebAmountOrdered = k.AmtOrdered.ToString(),
WebReminderAmount = "",
WebAmountWarning="",
Type = "Kit"
};
var q2=来自GetAllKits()中的k//返回IQueryable
选择新建VMPublication()//ViewModel对象
{
ID=k.ID,
Name=k.Name,
webamountinstack=,//需要从此处的InventoryItems获取Min()AmtInStock
ItemCode=k.ItemCode,
WebAmountOrdered=k.amTorOrdered.ToString(),
WebEmleramount=“”,
WebAmountWarning=“”,
Type=“套件”
};
我不知道如何在该查询中获取InventoryItem的AmtInStock的Min()
请帮忙!非常感谢 我猜的是您的协会名称,但请尝试以下方法:
var q2=from k in GetAllKits()//returns IQueryable<InventoryKit>
select new VMPublication()//ViewModel Object
{
ID = k.ID,
Name = k.Name,
WebAmountInStock = (from i in k.InventoryKits_to_InventoryItems
select i.InventoryItem.AmtInStock).Min(),
ItemCode = k.ItemCode,
WebAmountOrdered = k.AmtOrdered.ToString(),
WebReminderAmount = "",
WebAmountWarning="",
Type = "Kit"
};
var q2=来自GetAllKits()中的k//返回IQueryable
选择新建VMPublication()//ViewModel对象
{
ID=k.ID,
Name=k.Name,
webamountinstack=(从k.InventoryKits中的i到InventoryItems
选择i.InventoryItem.AmtInStock).Min(),
ItemCode=k.ItemCode,
WebAmountOrdered=k.amTorOrdered.ToString(),
WebEmleramount=“”,
WebAmountWarning=“”,
Type=“套件”
};
I get:System.invalidooperation异常:无法将expression'表(REIP_InventoryKit).其中(k=>k.Active).选择(k=>new-VMPublication(){ID=k.ID,Name=k.Name,WebAmountInStock=k.REIP_-XREF_-InventoryKit_到_-InventoryItems.选择(I=>I.REIP_InventoryItem.AmtInStock).Min().ToString(),ItemCode=k.ItemCode,WebAmountOrdered=k.AmtOrdered.ToString(),webrementeramount=“”,WebAmountWarning=“”,Type=“Kit”})转换为SQL,无法将其视为本地表达式。不,这是正确的答案,现在我必须重构以修复我的联合问题。谢谢!
var q2=from k in GetAllKits()//returns IQueryable<InventoryKit>
select new VMPublication()//ViewModel Object
{
ID = k.ID,
Name = k.Name,
WebAmountInStock = (from i in k.InventoryKits_to_InventoryItems
select i.InventoryItem.AmtInStock).Min(),
ItemCode = k.ItemCode,
WebAmountOrdered = k.AmtOrdered.ToString(),
WebReminderAmount = "",
WebAmountWarning="",
Type = "Kit"
};