LINQ a OOP   zodpovězená otázka

C#, LINQ, Architektura, Algoritmy

Dobrý den,

v poslední době se učím s LINQ a není mi jasná jedna věc.

Pokud chci mít aplikaci, kde budu používat na různých místech x linq lůasický select dotazů a y dotazů .toList + nějaké updaty, inserty atd., tak předpokládám, že je dobré mít kód napsaný pouze jednou.

Jak nejlépe to implementovat? Jeden datacontext a jedna velká třída? Nebo víc contextů a více tříd s různými metodami pro každý context nebo zcela jinak?

Předem díky za odpověď

jakub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Takže LINQ to SQL, ne obyčejný LINQ...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, omlouvám se, myslel jsem LINQ to SQL

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://vbnet.cz/blog-clanek--406-nevolej...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Určitě bych šel cestou jednoho datacontextu pro celou datbázi - málokdy se podaří databázi rozdělit na úplně oddělené části a sdílet tabulku v několik datacontextech není nijak rozumně možné.

Co se týče nějaký dotazů používaných v aplikaci častěji, jsou tři možnosti - úplně blbá, použitelná a lepší.

1. Mít všechny dotazy v jedné třídě - není to vůbec ideální, rozhraní té třídy se bude měnit neustále přidáváním nových dotazů a celé to bude nepřehledné.

2. Rozdělit dotazy logicky po nějakých modulech a mít více tříd, v každé nějakých 5 dotazů. Pokud jsou si některé dotazy až podezřele podobné a liší se jenom typem entit (vrátit objednávky, které jsou schválené, pak , které vrací, doporučuji to nějak sjednotit přes generiku a případně rozhraní. Není to úplně ideální, ale v některých aplikacích v tom problém nevidím.

3. Pro každý dotaz mít speciální třídu. Doporučuji jít podle tohoto článku - http://rarous.net/weblog/377-domenove-do....

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji moc

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback