webForumDet fria alternativet

ObjectDataSource och Factories

1 svar · 316 visningar · startad av Nickemannen

NickemannenMedlem sedan aug. 20003 575 inlägg
#1

Hej jag har ett litet problem, och en undran om en lösning vilket hade underlättat en hel del.

Jag vill jobba med ObjectDataSource för att det är ju så de flesta ASP.NET kontroller vill ha det.

Jag har ett DAO eller vad man skall kalla det med funktionalitet för t.ex. en User

Detta är en existerande klass, jag har lyckats att alltid använda den genom eventet ObjectCreating, vilket fungerar utmärkt.
UserDAO

Dessa krävs för paging vilket fungerar utmärkt.
GetAll();
GetAll(int rowsMax, int currentIndex);
Count();

Men här kommer ett stort MEN jag vill också att skapandet av instanser av mina User objekt skall ske via mitt DAO då vissa regler skall läggas till i objektet. dvs

UserDAO.Create();
UserDAO.Create("namn", "hej");

samma sak gäller existerande objekt UserDAO.GetById(long id);

När det gäller delete kan det vara okej att bara skicka ner ett id för att ta bort.

Men detta stödjer inte ObjectDataSource, jag har forskat lite och man måste gå långt ner för att ändra så att det kan finnas stöd för Factories för objektskapande.

Är det någon som vet en bra lösning på detta eller möjligtsvis någon som haft samma problem och implementerat en egen ObjectDataSource?

För vad jag har kollat på så är det mycket kod som måste skrivas för att få en lösning på detta, man får skriva ObjectDataSource från grunden och från de klasser den ärver av, samt ObjectDataSourceView och dess basklass DataSourceView där problemet ligger i en privat metod kallad BuildDataObject.

emissionMedlem sedan dec. 19996 721 inlägg
#2

Det finns ett par lösningar:

-Skapa objekten som du vill i ObjectCreating-eventet
-Använd inte riktiga User-objekt utan PresentationUser el. likn i stället och översätt en insert av en dylik till en insert av en User, etc.
-Skit i DataSources och koppla själv i stället.

255 ms totalt · 3 externa anrop · v20260731065814-full.30151723
133 ms — hämta forumlista (db)
119 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)