Články autora Tomáš Holan
Předpokládejme, že máme datovou strukturu obsahující tyto tři tabulky.
Z těchto tabulek budeme chtít načíst data najednou tímto jedním SQL dotazem.
Předpokládejme dále, že naše datová vrstva umí načtená data vrátit pouze v podobě “flat” sekvence objektů, jehož podoba odpovídá vracenému resultsetu.
Našim úkolem je přetransformovat sekvenci těchto objektů do objektové reprezentace, která by odpovídala původním tabulkám.
Pokud v ASP.NET aplikaci používáme technologii WIF, zpravidla využíváme HTTP modul SessionAuthenticationModule. Ten se stará o to, že po přihlášení je vytvořeno cookie, které obsahuje serializované claims přihlášeného uživatele a při každém requestu provádí rekonstrukci objektu ClaimsPrincipal z dat obsažených v tomto cookie.
Pokud si ve VS 2012 vytvoříme novou ASP.NET WebForms aplikaci s použitím výchozí šablony je v master page (v souboru Site.Master) použit serverový prvek ScriptManager s registracemi některých základních skriptů (JQuery, WebForms, MSAjax apod.). Konkrétně registrace skriptů, které se týkají Web Forms, jsou zde následující:
V předchozích částech této série jsme zatím používali T4 šablonu ke generování jednoho výstupního souboru, což je také výchozí způsob. Při něm je název výstupního souboru odvozen přímo od názvu souboru šablony a má jen jinou příponu, kterou lze určit direktivou <#@ output #>. Někdy se nám ale může hodit generovat jednou T4 šablonou výstupních souborů několik. Dnes upravíme příklad z minula tak, aby se každá generovaná partial třída uložila do samostatného souboru.
V minulé části této série jsme ukázali příklad generování třídy podle “vzorové” třídy, která byla umístěna přímo součástí vlastní T4 šablony. Často by se mám ale mohlo hodit použít jako vzor již existující třídy, které jsou součástí našeho projektu.
V první části této série jsme se seznámili s tím jak vytvořit T4 šablonu, jaká je syntaxe T4 šablon a jaký je princip generování výstupního souboru na základě šablony. Také jsme zmínili, že výstupem šablony může být principiálně libovolný textový soubor (XML, .config soubory), ale my budeme uvažovat, využití T4 šablony pro generování zdrojového kódu. Nyní se blíže podíváme na to, co můžeme využít jako vstup T4 šablony.
T4 (Text Template Transformation Toolkit) je obecný šablonovací systém pro generování textového výstupu, který je navíc přímo integrovaný do Visual Studia (jestli se nemýlím tak již od VS 2008). Přestože lze v případě potřeby transformaci T4 šablony (T4 template) spouštět i kódem v runtime, primárně je T4 využívané pro generovaní výstupu v design-time tj. právě z Visual Studia.
LINQ operátor Sum (přesněji jeho varianty pro LINQ to objects, v LINQ to Entities je to jinak) je navržen tak, že výsledkem operace Sum pro prázdnou sekvenci je hodnota nula a pro nullable datový typ (například int?) jsou hodnoty null ve vstupní sekvenci ignorovány.
Po dlouhé době jeden tip ohledně ASP.NET. Konkrétně se koukneme na to, jak v ASP.NET vytvořit pole TextBox se zobrazeným watermarkem (text, který je zobrazen, pokud je pole TextBox prázdné).
Podle mnoha zdrojů by správná implementace disposable patternu (dále budu tento způsob označovat jako tzv. rozšířený disposable pattern) v jazyce C# tj. korektní implementace interface IDisposable měla pro base třídu vypadat takto: