【发布时间】:2013-05-04 10:54:45
【问题描述】:
我有一个代表矩阵的表格:
CustType DiscountGroup1 DiscountGroup2 DiscountGroup3
Wholesale 32 10 15
Retail 10 15 0
我所有的库存商品都有对应的折扣组代码 1、2 或 3。
在开具发票时,我想查找客户类型在开具发票的商品上获得的折扣。
该表需要能够增长以包含新的客户类型和新的折扣组,因此不能硬编码。
我想我会将数据拉到一个数组中,这样我就可以按索引选择列,但我被我的实体太聪明了...
var disc = (from d in context.CustDiscountGroups
where d.CustType == Wholesale
select d).ToArray();
我只能按名称访问列,即:disc[0].DiscountGroup1
如果我尝试disc[0,1],我会收到一条错误消息,指出里面的索引数量错误。
我错过了什么?我觉得这是一个荒谬的基本问题。我唯一的另一个想法是将列命名为 1、2、3 等并构建一个 sql 选择字符串,我可以在其中使用变量来表示列名。
数据库也处于设计阶段,因此可以以任何需要的方式重新制作表,我正在努力思考解决问题的方法。
【问题讨论】:
-
尝试 [0][1] 而不是 [0,1]
-
@alex 谢谢,但没用。 “无法将带有 [] 的索引应用于 'EwhData.CustDiscountGroup' 类型的表达式”
标签: c# linq-to-entities entity-framework-4.1