webForumDet fria alternativet

O/R mapper, attribut

2 svar · 419 visningar · startad av P

PMedlem sedan jan. 20012 204 inlägg
#1

Håller på och gör en enkel O/R mapper.
Skulle vilka spara en array/lista och i denna spara objekt. En till många mappning kanske det kallas.

Jag använder attribut i klasserna och börjar varje klass med, för att ange var den ska mappas till.

    [DataTable("Users")]
    public class User
    ... osv

Attributen hämtar jag med koden:

(DataTable[])t.GetCustomAttributes(typeof(DataTable), true); 
// t = typeof(User)

Om jag nu skicka in User[] eller IList eller så får jag inte ut något vettigt. Attributen finns ju inte i "array-klasserna". Hur skulle man kunna lösa detta?

Har försökt grva mig ner i basetype och underlying type men hittar inget vettigt... :)

GladhMedlem sedan maj 20012 812 inlägg
#2

Jag har tagit steget längre i min ORMapper och där använder jag mig av generics för att hantera problem som detta.

List<User> users = OR.Load<User>();

med denna kod så får jag en lista med alla users som finns i databasen, och det utan att jag skickar med någon information som parameters, utan jag skickar med den typ av entitet som jag vill ha tillbaka och där kan man sedan plocka ut alla attribute som finns på classen User.

- M

PMedlem sedan jan. 20012 204 inlägg
#3

Kankse blir ngt likande i en senare implementation. Hittade den roliga funktionen t.GetElementType().

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