webForumDet fria alternativet

Relation i dataset

3 svar · 375 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#1

Jag har ett dataset med två tabeller i som har en relation.
Relationen anger jag med:

dataSetNodeData.Relations.Add(new DataRelation("Relationship", 
            dataTableTransmittal.Columns["Node ID"],
            dataTableDocuments.Columns["Parent"]));

Detta funkar hur bra som helst, men nu har det blivit lite ändringar på indatan vilket gör att Parent är en kommaseparerad sträng med idnummer så samma dokument kan tillhöra flera Node ID.

Hur tusan ska man fixa det så relationen fungerar då?

doggelitoMedlem sedan juni 20003 076 inlägg
#2

För att hjälpa dig och puffa frågan så kan jag säga att jag fattar inte vad du menar! :)
En relation är väl mellan två tabeller med ett och samma nummer, hur kan relationen vara kommaseparerad?
Om en child ska kunna tillhöra flera parent så måste en tredje tabell till för att göra jobbet.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Som det har varit tidigare, så har varje dokument haft ett id nummer i parent som har pekat på vilken node den tillhört.
Nu får jag parent i en kommaseparerad sträng istället, och precis som du säger så fungerar ju inte relationen då.
Har bestämmt mig för att istället lägga in varje dokument en gång för varje parent i tabellen så fixar det sig.

doggelitoMedlem sedan juni 20003 076 inlägg
#4

Oki! Om du tycker att det funkar så är ju allt bra!
Men spontant känns det fel att göra så, dubbletter är aldrig bra att ha i en databas.
Vad händer om du t.ex. vill radera ett dokument? Ska dokumentet bara tas bort på den noden du valde eller ska alla dokument av samma sort raderas? Då måste du loopa i raderingsfunktionen.
Jag hade gjort en tredje tabell som sköter relationen! :)

253 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
126 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)