Vad är en O/R Mapper
Enkelt kan man säga att O/R Mappern är ett framework som spara/hämtar objekt till/från en relationsdatabas. Du slipper alltså själv skriva funktioner för att spara/hämta datan, det löser O/R Mappern åt dig.
Hur använder man en O/R Mapper
Det fungerar lite olika från O/R Mapper till O/R Mapper. Gemensamt är att man måste ha någon sorts mappning från din klass till din databas, så klassen vet vilket fält i databasen skall match vilken variabel i klassen: Vissa använder Attribute på variablern, andra använder Mapper-filer. Här kommer ett exempel med attribut:
public class User{
[DatabasFiled("FörNamn")]
private string myFirstName;
}
Nu kan O/R Mappern koppla ihop kolumnen "FörNamn" i din databas, men variablen myFirstName i din klass och fylla den med rätt data.
När man sedan vill skapa ett User objekt i din kod, så skriver så här (finns andra varianter med):
User user = (User) ORMapper.GetObjektById(typeof(User),1);
Nu har du hämtat ut en rad i databasen med id = 1 och fyllt ditt objekt user med denna informationen.
Hur är en O/R Mapper uppbyggd
Lite komplext att förklara här, men som jag sagt tidigare, så har jag skrivit ett exempel på hur en O/R Mapper kan vara uppbyggd, så bara sök i forumet så hittar du det nog.
Hur bygger man en O/R Mapper.
Se ovan. Sedan så går man ut på nätet och letar efter information, kollar på andra O/R Mappers hur de fungerar. Om du endast vill ha en O/R Mapper till dina projekt så ta en som redan finns, är du däremot intresserad hur de fungerar, så försök bygga en själv, det är inte så svårt och riktigt kul.
Sedan kan man givetviss bygga ut den i oändlighet, så den stödjer caching, COM+ Transactioner osv osv...
- magnus