Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-15 01:04:36 - Mattias Unger, i forum arkitektur, Tråden har 7 Kommentarer och lästs av 1358 personer

Jag använder Nhibernate och har ett mappningsproblem. Det är så att jag skulle vilja spara två tillstånd för ett objekt. Med tanke på objekten ska ha samma ID så var min tanke att lägga till en property (tinyint 0,1) som anger vilket tillstånd objektet är i. Min mappning blev således såhär:

<composite-id>
   <key-many-to-one name="Parent" column="ParentID" class="Objects.Parent" />
   <key-property name="IsPublic" column="IsPublic" type="Boolean" length="1" />
</composite-id>


Dessa två element tillhör alltså en förälder av klassen Parent. Denna mappning vill dock inte fungera (jag tycker mig ha provat det mesta) men dessutom så kommer den att ge mig en lista i klassen Parent, typ List<Element> som alltid kommer att innehålla två posten, vilket känns lite knasigt. Så det är kanske dumt från början.

Min nuvarande tanke är alltså att jag sparar båda posterna i samma databastabell. Vore det vettigare att spara dem i olika tabeller? I så fall så antar jag att jag måste mappa en objekt-typ till olika databastabeller, hur gör man isf det?

Hoppas att det inte är för rörigt.


Svara

Sv: Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-15 15:17:15 - Niclas Pehrsson

hmm. jag tror inte det riktigt fungerar som id?

Varför inte inte bara ha det som 2 properties?

Eftersom objekten kan ändra tillstånd? Ett id får aldrig ändras?


Svara

Sv:Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-15 19:29:37 - Mattias Unger

Jag hade då tänkt mig att nyckeln skulle vara (ID, state). Typ (25, 0) och (25, 1).

Jag ser gärna att ID är detsamma för båda objekten då tanken är att man kommer att förändra det ena för att sedan "spara" det och då ändrar det tillstånd. I det fallet så blir det lite krångligare om ID:t förändras bara för att man sparar.


Svara

Sv: Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-16 09:06:03 - Niclas Pehrsson

I detta fallet antar jag att ID är en position och state är en position.

Ett id är något som aldrig får ändras eller finnas dublett av jag föreslår iallfall om det är så jag har fattat det att du har ett ID för positionerna. Antar att positionerna ändå måste kopplas mot något mer? vilket det säkert gör av mappningen?

ID, X, Y så hade jag gjort där x och y är vanliga properties


Svara

Sv:Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-16 14:38:14 - Andreas Öhlund

Instämmer med Niclas, att använda meningsfulla id:n är sällan en bra ide. Eller för att citera den store Martin Fowler: "... As a result, meaningful keys should be distrusted. ..."


"The NHibernate FAQ" har en bra post om id-hantering:

http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/04/04/identity-field-equality-and-hash-code.aspx


Svara

Sv: Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-16 17:20:29 - Niclas Pehrsson

Ja speciellt när id:n kan bytas ut.

positionerna kan bytas ut vad jag fattade det som.


Svara

Sv:Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-17 12:58:00 - Mattias Unger

Ja, jag har funderat om lite och kommit fram till att det troligen är bäst att göra som ni föreslår. Jag har dock två förslag här. Vilket anser ni bäst?

1. Parent-tabellen ha två poster columner som anger ElementID eller för varje state. Alltså
[PublicElement][NotPublicElement] detta kopplas då till ElementID ut Element-tabellen.

2. Element-tabellen har ID (autoincrement eller whatever) + ParentID (kopplingen) + State (Public, NotPublic [1,0]).

Anser kanske själv att alternativ två är bättre och lite mer utbyggbart.


Svara

Sv: Nhibernate, composite-key eller one-to-two?

Postades av 2008-08-17 13:33:49 - Andreas Öhlund

Jag röstar på 2:an


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 889
27 965
271 778
537
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies