首次使用LinqtoSQL。所以给你们一些上下文:
我有一个名为Inventory的简单SQL Server表,其中包含以下字段
接下来,我有另一个名为InventoryCategories的表,其中包含以下字段:
接下来,目前我有一个组合框,用于选择更新DataGrid.ItemSource的查询,其代码如下所示
if (searchcategory == "All Stock")
{
InventoryDataContext dc = new InventoryDataContext();
var q =
from a in dc.GetTable<Inventory>()
select a;
SearchResults.ItemsSource = q;
}
现在,此结果将返回Inventory的Full表,其中包含InventoryID,InventoryItemName和InventoryCategory列。但是,它会在InventoryCategory列中返回InventoryCategory的ID号。
是否有人能够帮助我从此查询中的InventoryCategories表中获取InventoryCategoryName而不是ID?这需要什么?
答案 0 :(得分:1)
尝试使用左连接:
var qry = from inv in context.Inventory
from invCategory in context.InventoryCategories.Where(u => inv.InventoryCategory == u.InventoryCategoryID).DefaultIfEmpty()
select new myViewModel {id = invCategory.InventoryCategoryID, categoryName = invCategory .InventoryCategoryName }
并且不要忘记使用id
和categoryName
属性创建myViewModel类