我们有一个静态只读信息表,我们需要定期查询。事情是这个数据是相关的,我们需要能够使用任何其他相关属性获取任何属性作为索引 ......
在一两个案例中,其中一个属性可能在行之间重复,但这种情况很少发生......(请参阅示例中的ORDR值)
示例:
formtypex | objectcode | table | description
149 23 OQUT Quotation
139 17 ORDR Order
140 18 ORDR Especial Order
期望的用途是这样的:
//having one property recover another property the easiest and fastest way possible
string exampleformtypex="149";
string objectcodex=relations.FromFormtypex(exampleformtypex).ObjectCode;
//or a shorter way:
string objectcodex=relations.Find(exampleformtypex, FindMode.FormTypex).ObjectCode;
//or
string objectcodex=relations.Find(exampleformtypex, FindMode.FormTypex, ResultMode.ObjectCode);
//or better
string objectcodex=relations[FindMode.FormTypex, exampleformtypex].ObjectCode;
//or if you can illustrate me with a better aproach
...
如何实现这个类/ es的定义和方法?
答案 0 :(得分:1)
鉴于数据集较小,最好的办法是创建一个包含所有值并将其全部加载到内存中的类(或结构)
public class Relations
{
public int formtypex;
public int objectcode;
public string table;
public string description;
}
然后,您可以将其放入List中并使用linq进行查询。它是如此之小,以至于迭代列表并不会特别昂贵。
如果您希望它非常简单,那么您可以将函数包装在静态LookupRelations类中。