首先,我使用SQL Server CE,我已经为我的数据库创建了一个数据上下文,以便在c#代码中处理它。
这是我的问题:
在TableA
中,有几个不会改变的"静态"项:它们是"属性",如下所示:
Name=available 24 hours, ID=1, isset=1
其中Name
为字符串,ID
为int型,isset
为位。
列表中大约有100个属性。
现在,我有TableB
,其中的项目可以具有这些属性。我不能在列AttributeID
和列attributeID
之间添加关系,因为项目可以有几个。
但是我也不能在attributes
表中添加具有itemID
的列,因为有几个项目可以具有此属性。
那我该怎么办呢?是否有一种方法在SQL Server CE实现这一点?
编辑:所以,我会尽量解释得更清楚:
我的TableA
是一个有3列的表:Name
, ID
和isset
。TableA
中的每一行代表一个项目,我们称之为itemA
。表中大约有100行(= 100 itemA
)
现在,我的TableB
代表itemB
,它可以有一个或几个itemA
。
但是我不知道怎么做:在TableB
的列itemA_ID
和TableA
的列ID
之间添加关系是行不通的,因为一个itemB
可以包含多个itemA
。但反过来,它也不起作用:TableA
的列itemB_ID
和TableB
的列ID
之间的关系也不可能,因为一个itemA
可以引用多个itemB
。
我知道这有点复杂,但我希望它现在更容易理解。
你的问题很难理解,但我猜你有一对多的关系。也就是说,你有很多"Item",每个"Item"可以有很多"attribute "。
处理这个问题的方法是为每个关系创建一个查找表。例如:
TableA
AttributeID Availability
1 Available 24 hours
2 Available 48 hours
TableB
ItemID IsSet ItemName
1 1 Something
TableC
ItemID AttributeID
1 1
1 2
如果这不是你的意思,请提供你的数据的例子。