I dagsläget kan man bara gör operationer som:
dal.GetObject(id, typeof(någonKlass));
dal.GetObjects(typeof(någonKlass));
dal.SaveObject(objektet);
dal.SaveObjects(IList);
Nu står jag inför problemet att bygga någon sorts frågegränssnitt.
Jag vill ju inte allt ska hämtas alltid eller bara kunna hämta ett objekt på dess id.
Någon som har gjort något liknande eller har några smaskiga länkar?
Google har nämligen varit osedvanligt snålt i ämnet...
Du kan bygga det hur avancerat du vill, men en bra början är väl att skapa ett nytt objekt som hanterar WHERE vilkor. Där du iprincip, skickar in:
Namnet på variablen som man vill kolla på (alltså det skall omvandlas till kolumn i databasen), sedan något värde, och sist vilken operator som skall användas.
så när du vill hämta alla object för kunder där förnamnet är Magnus, blir det något sånt här.
CWhere where = new CWhere();
where.Column = "FirstName";
where.Operator = EnumOperator.Equal;
where.Value = "Magnus";
dal.GetObject(typeof(contact), where);
Detta är bara ett förslag, själv har jag löst det genom att alltid kalla på en SP. Men funderar på bygga en lösning där man använder inlineSQL istället (om man orkar).
Kolla annars på https://www.asp.net och i formuet: Architectur, där kan du säkert få svar om du söker lite, O/R mappers diskuteras flittigt där.
jag tenderar att tänka lite för stort ibland och det kan ju som du påpekar bli precis hur kompicerat som helst. Särskilt om jag vill ha med aggregatfunktioner o dyl. Då kommer ju inte ens mina dataklasser att fungera som dom ser ut nu...
Kika lite på hur de löst det i vissa opensource projekt. :)
(Har en känsla av att du fått det svaret innan.)
OJB har ett ganska vettigt gränssnitt för att ställa frågor.
Hibernate, Nhibernate är dött , deras interface eller vad man skall kalla det har fårr väldigt bra kritik.
Jag håller precis på å tittar på ett opensource projekt som heter Sisyphus, och där kan man skapa klasser som hämtar värden för en viss klass.. Jag tycker detta verkar väldigt nice, har bara testat det till en viss del men det som jag tycker om är att man inte är låst till funktionerna som är inbyggda i "frågeinterfacet" utan man kan skriva sql kod direkt i dessa frågeklasser och sen skicka in parameters. Visst det blir lite sqlkod i affärslagert men..
270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25