我有两个表,分别叫Machine
和Type
。由于他们有很多关系,我的数据库中有一个MachineType
分辨率表。没问题。
最终用户需要能够管理这些 - 创建新类型并将其分配给计算机。我有一个XtraGridView
用于显示Machine
作为主人,Type
作为详细信息。
最初,我使用Lookup
将Type
下拉列表添加到MachineType
详细信息视图中。但这会产生重复,并不是显示此信息的最佳方式。我想要一系列复选框(每个Type
选项一个),以便用户可以为每台机器单击相应的复选框,从而避免重复。保存后,可以生成相应的MachineType
行。
我只是手动编写代码,但如果在DevExpress或我可以使用的.net框架中有某种二进制集合映射,我宁愿重新发明轮子。
干杯
编辑:This就是我的意思。来自this thread。但是,它们将其存储为集合(由逗号描述的字符串)而不是一系列数据库行。
答案 0 :(得分:1)
您是否只想将值绑定到linq查询?
from m in Machine
from t in Type
select new {m,t}
这将为每个配对提供交叉连接 在保存时,您只需检查MachineType表是否已配对
from mt in MachineType
where mt.MachineId == <machine from list>
&& mt.TypeId == <type from list>
如果你想传递查询列表,你可以发送一个配对列表,你可以发送一个字典并循环遍历它,或者如果字典支持那么就使用Contains()
函数。