我有一个代表矩阵的表:
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 选择字符串,我可以在其中使用变量来表示列名。
该数据库也处于设计阶段,因此可以以任何需要的方式重新制作表,我正在努力让我的头脑围绕哪种方式来解决问题。