Helló világ!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Kategória: Kategorizálatlan | 1 hozzászólás

Silverlight projektmunka

Silverlight munkaerő kerestetik!
 
Körülmények:
 – projekt aug. elején indulna, kb 3 hónap, "teljes állásban"
 – fő feladat Silverlight UI gyártása WCF BLL "főlé"
 – vagyis
   – alap .Net tudás meglegyen
   – gyakorlat SL (és/vagy WPF) UI készítésében, az se baj ha megy az MVVM is
   – van minimális rutin projektekben, fejlesztésben
   – kommunikáció-képes angol és vagy német tudás (doksi megértése, rövid szakmai specifikációt megírása, szakmai dolgokról röviden értekezés)
 
Igazából junior és senior ember is szóba jöhet, még képlékeny a dolog.
Ennek függvényében részvétel a projektben.
Általánosságban szerintem egy jó hangulatú érdejes UI-nak a
lefejlesztése lesz a feladat egy magyar csapat mellett, de intenzíven
együttműködve egy német/sváci csapattal párhuzamosan.
 
Ha érdekel jelezd itt, a devportalon és felvesszük a kapcsolatot a részletekkel kapcsolatban!
Elképzelhető hogy 2-4 hetente utazni is kell, de csak meeting céljára,
a fejlesztés itthon történik. Persze ezt állja a cég…
Fizetés piacképes és alku függvénye a képességek tekintetében.
Ha tudsz esetleg valakit/valakiket ajánlani, akkor keressen meg!
Kategória: Silverlight | Megjegyzés hozzáfűzése

Napi humor – .Net vs Java trailer HD

Kategória: Kategorizálatlan | Megjegyzés hozzáfűzése

vs2010 wallpapers

Kategória: Kategorizálatlan | Megjegyzés hozzáfűzése

AppFabric Cache architektúra és alapfogalmak

(Bevezető)

A Windows Server AppFabric Cache egy explicit, eloszott, egységes, memóriabeli adat gyorsítótár.
(minden szó fontos! gondolkodjunk el rajta!)

Architektúra

veloarch

  • explicit-> én teszem be amit gyorsítani szeretnék, pl. rátesztelek hogy bent van e a chache-ben, ha nincs akkor beteszem….
    (vannak tervek úgymond read-through megoldásokra, amikor is én olvasok a chache-ből, és ha nincs benne akkor a cache oldja meg a cache-be hozatalt, pl. SQL-DB-ből)
  • eloszott-> tetszőleges fizikai gép (cache-node) kapcsolható a klaszterbe (cache-cluster), ezáltal skálázható (N gép 2gbyte-> N*2gbyte cache)
  • egységes-> nem kell foglalkozni a cluster fizikai mivoltjával, fentről nézve egységes a cache, vagyis bármelyik fizikai node-dal állok kapcsolatban ugyan úgy látom a cache-t, és hozzáférek mindenhez. A cluster miatti ügyeket a cache elrejti a programozó, a cache-kliens elől…
  • memóriabeli adat gyorsítótár-> memóriában tárolja a cache elemeket, nincs hdd,sql server, stb. kiirás. Adat alatt pedig bármit érthetünk: CLR objektumton át, byte[] adatokat, bármit ami szerializálható binárisan…

(Nem véletlen részleteztem ezeket így, fontos dolgok. Ezekből rengeteg minden következik, ha valamit hiányolunk, vagy valamit furcsának találunk ezekben megtalálhatjuk a magyarázatot.)

Miben más ez mint egyéb megoldások? Pl. van az ASP.Net-nek is cache megoldása?!? van de csak az adott kiszolgálón. Pl ha van egy webfarmunk, és egy adott kiszolgálón bekerül vanalmi a cache-be, akkor azt csak és kizárólag az a gép látja… Létezik továbbá olyan megoldás, hogy SQL serverbe perzisztáljuk az objektumokat, s így egy közös pontból elérheti mindenki által az adott objektumot. Pl. a 3.5-ös workflow-persistence szolgáltatásánál hasonló a helyzet: workflow services kiszolgálóból lehet N darab, de mind ugyan azt a pers. tárat használja, így bárhova érkezik be a kérés mindenki eléri a perzisztált workflow-t. (Persze ez nem cache, pusztán csak az elv az érdekes).
Ebben az esetben viszont az SQL server válik szűk keresztmetszetté… amit ugye nagyon nehéz skálázni…

Elhelyezkedés az architektúrában

(pl. egy hagyományos web-farm esetében:)

hol_legyen0

Az ábra érzékelteti, hogy normál esetben minden alkalmazás/kiszolgáló egyedileg kapcsolódik az adatbázishoz, közvetlenül ír-olvas belőle, ennek minden előnyével-hátrányával.

hol_legyen

A cache-réteg alkalmazása esetén az adatbázis és az alkalmazás réteg közé kerül az AppFabric cluster. Az alkalmazások normál esetben továbbra is kapcsolatban maradnak közvetlenül az erőforrások kiszolgálójával, kiszolgálóival ( a továbbiakban az erőforrás és az adatbázis/adattár fogalmakat keverve használom, mint ahogy írtam a cache-be bármilyen bináris adat bekerülhet, így pl. akár file gyorsításra is használható), de a cache-kliens-en keresztül a kapcsolatban áll a cluster-rel is. Ha nincs a cache-ben az adat (ez nagyon gyorsan kiderül, a későbbiekben részletezett módon), akkor felolvassa, majd beteszi a cache-be (és használja), és legközelebb már minden kliens eléri amikor szüksége van rá.

Adatok kategorizálása

Az előző bejegyzésben megfogalmazott követelmények alapján világosan látható hogy a különböző gyorsítandó erőforrásokkal szemben különböző követelmények állnak fent. Ezek koncepcionálisan megjelennek az egész AppFabric Cache architektúrában, így nagyon fontos hogy értsük és tisztában legyünk vele, továbbá fontos hogy egy saját megoldás implementálásakor ezt figyelembe vegyük, mind tervezéskor mind implementáláskor.
Vegyük sorba ezen kategóriákat!

types_of_data_webshop

  1. Referenciális jellegű adatok (Reference data)
    Magyarul katalógus-adatok. Tipikusan pl. termékkatalógusok statikus része: nevek, leírások, képek, stb.
    Jellemzők: elsősorban read-only, ritkán változik az adat, és ha változik, akkor se feltétlen okoz világméretű katasztrófát, ha a változásnak átfutása van…
    Elvárások: NAGYON gyors legyen (elérés-áteresztőképesség), ha kiesik a cache-ből valami, vagy kiesik egy node, akkor nem dől össze a világ.
  2. Aktivitás jellegű adat (Activity data)
    Pl. bevásárló-kosár, egy felhasználó/session adatai.
    Jellemzők: írandó-olvasandó adat, de nem megoszottan (nincs konkurencia és ebből fakadó katasztrofális következmény)
    Elvárások: atom-biztos legyen. ha kiesik egy node (legyen az a cache-cluster-ben, esetleg a webfarm-ban) akkor azt ne vegye észre az alkalmazás és a felhasználó. (ha másik gépre téved a web-farmban akkor ott is elérhető legyen a kosár a tartalmával, ill. ha kiesik egy(N) node a cache-cluster-ből akkor is elérhető legyen az adat.
  3. Erőforrás jellegű adatok (Resource data)
    pl. raktárkészlet, helyre szóló jegyek. (a legnehezebb dió)
    Jellemzők: írandó-olvasandó adat, mindez konkurens módon. (Egyszerre akar sok ember ugyan arra a repülőgépre foglalni, és minden jegyet pontosan egyszer lehet csak eladni)
    Elvárások: legyen konkurenciakezelés.

Hogy oldjuk meg ezeket?

partitioning

1. Particionálunk. N darab cache-kliens elkezdi önteni az adatok a clusterbe, és valami logika szerint valemelyik node tárolja az adott elemet. Nő a sebesség? Nő ‘hát! N gép Nx annyi memória, Nx annyi processzor és Nx annyi sávszélesség.
Hogyan működik ez fizikailag?
(eddig még nem beszéltünk az API-ról, de itt a lényeg hogy minden cache elem egyedi azanosítóval rendelkezik, amit a programozó ad neki. továbbá adhatok régiókat, ami egyfajta kategorizálása az adatoknak, ez fontos szerepet játszik a fizikai megvalósításban is)

partition_keys

Ha nem adok meg régiót, akkor egy előre meghatározott, számunkra érdektelen, logika szerint automatikusan régióba kerül az adat, majd ez alapján bekerül egy range-be, és ez alapján egy adott cache(Velocity)-node-ra. Ebben az elosztásban nagy szerepet játszanak a hash algoritmusok amikkel könnyen kivitelezhető ez a csoportosítás. A lényeg ebben hogy egy régióba tartozó cache adatok egy szerverre kerülnek. Továbbá a hash alapján a kliens villámgyorsan el tudja érni az kívánt adatot, és nem fog gondot, overhead-et okozni a cluster-ben való tájékozódás.

2. Fail-over

partition_ha

Fail-over biztosítására (kiesik N darab cache-node, mert a takarítónű kihuzta a dugót a konnektorból) nincs más teendőnk, mint hogy megmondjuk hogy az adott named-cache-en (egy cache-cluster-en bármennyi cache lehet, ezek egyedileg azonosítottak a nevük alapján) mennyi gép kiesését szeretnénk elviselni. Ha pl. egyet, akkor 2 helyen lesz tárolva az adat, ha kettőt, akkor hármon, és így tovább… Minden elemnek van tehát N darab másodlagos példánya, aminek szerepe csak akkor van ha kiesik az elsődleges:

partition_ha_bug

Látható hogy pl az A objektum a Server1-en előlépett elsődlegessé, ill. a kiesett F-E-C másodlagos elemekből újra készült másodlagos példány a Server1 ill. a Server2-n (Server 2 hősi halála esetén).
Mindez automatikusan, aszinkron módon türténik, nekünk csak 2-3 konfigurációs bejegyzést kell tenni. Persze ekkor ha van 10 gépünk 2 gbyte memóriával, és 2 gép kiesését szeretnénk elviselni, akkor 10*2/3 gbyte hely áll rendelkezésünk.
Ennyit el kell viselnünk, de amúgy szerintem zs-e-n-i-á-l-i-s!!!

3. Konkurencia.
Ennek megvalósítása biztos nem volt egyszerű, de szerencsére nekünk a fizikai működéssel nem kell foglalkoznunk, pusztán a már jól megismert optimista vagy pesszimista konkurencia kezelés közül választani, és ez alapján írni a kódót.
Pl. pesszimista konkurencia kezelés (az lokkolás):

locking_pess
(az API-ról a továbbiakban lesz szó, de a fenti ábrán látható hogy a van Get() and GetAndLock() metódus ami értelemszerűen végzi a dolgát, tehát nekünk csak meg kell tervezni és ez alapján implementálni az elvártakat)

Optimista konkurencia kezelés esetén pedig “visszaíráskor” kerül ellenőrzésre hogy az “eredeti” állapot van e még a cache-ben. Ha igen akkor mi vagyunk az elsők így mehet az írás. Ha nem, akkor így jártunk, valaki megelőzött. Ekkor a programozó dolga hogy kezelje a különböző lehetőségeket.

Összefoglalás

A fent megismert koncepciók véleményem szerint az egész AppFabric-Cache megoldás alap-pillérei. Nagyon fontos hogy e képességeket/lehetőségeket figyelembe vegyük amikor döntünk a használata mellett. És ha már döntöttünk, akkor ezt az adott architektúrába illesztéskor kellő gondossággal tegyük.

A továbbiakban látni fogjuk részletesen az AppFabric Cache használatát (API), azt hogy hogy illeszük ezt egy meglévő rendszerbe, ill ha olyan szerencsés helyzetben vagyunk hogy most építünk 0-ról rendszert, akkor miként tervezzük azt úgy hogy bármikor, akár generikus módon, egy cache-réteg legyen “beszúrható” a rétegek közé.
 load_test
(00:45 +1 server online betétel a clusterbe, 2:00 +1 server online betétele a clusterbe)
(láthatü a közel lineáris áteresztő-képesség növekedés, 3. servernél már a test-kliensek véges száma miatt nem lineáris az érték, ill. latency végtelenségig nem csökkenthető, van egy fizikai korlát)

És persze nem elhanyagolható a biztonság, ill. a menedzselhetőség kérdése sem, a mindenféle load- és fail-over teszt mellett. Különben mi értelme lenne bonyolítani az architektúrát?!?
Ezek következnek most!

Kategória: AppFabric | Megjegyzés hozzáfűzése

Építsünk Cache szolgáltatást, avagy skálázható alkalmazások világa…

serveranddotnet

Adott a következő helyzet:

Van egy kis ‘számítástechnikai kereskedésünk, és mivel nagyon-nagyon 21. századi módon szervezzük a cégünket, szükségünk van egy komoly kereskedelmi rendszerre, amit megtámadunk több oldalról:

  • Back-Office kereskedelmi-, számlázó-, CRM-, stb.-rendszer
  • Kiosk kliens, amit a boltba betérő ügyfelek ‘simogatnak Windows7-es multi-touchos kijelzőn az üzlettérben 🙂
  • és a lényeg: egy webshop ASP.Net + Silverlight 4.0

Rendszerünket a 18. Programozó és Bélyeggyüjtő Közhasznú Kft, átadja, majd 1-2 hónapig tökéletesen működik a “2-3” rétegű architektúra… És mivel az üzleti modellünkben nincs hiba, és gondolván a magyarul nem beszélő világpolgárokra akik tőlünk szeretnének vásárolni, már előre lokalizált az alkalmazásunk, így egyszer csak betámad minket a világ!!!
Az elején persze örülünk, dől a zsé. Aztán az oldal elkezd haldokolni. Winchesterek pörögnek, processzorok izzadnak… nincs mit tenni megtámogatjuk egy-két giga rammal a gépet, dobunk bele még egy procit… Kitart legalább egy hétig.
Ekkor megszületik a döntés még egy gép kell!!! SQL server szedi a sátorfáját és elköltözik másik gépre… huh. probléma megoldva. egy hétre.
’szerencsére sql programozó kolléga munkájában nincs kivetnivaló, az SQL adatbázis sem túl bonyolult (Customers-ProductCategories-Products-ProductPhotos-Inventories-OrderDetails-Orders sémánál megáll), termékből sincs sok, így egy kis performance analízis után azonnal látszik hogy a WEB-SERVER a ludas a sok lekérés miatt, no meg a képek!!!! mindeki látni akarja mit vesz meg!!! oldalról, elölről, kicsiben, hd-ben… Így készül egy cluster, loadbalancing… minden ami kell.
Eldöcög.jólesz.
cluster1
Aztán persze ügyes programozó készít egy túlt, amivel Excel táblából importálni lehet termékeket a rendszerbe, és hirtelen lesz 1000 termék helyett 100.000, a hozzá tartozó képekkel, leírásokkal és még 100.000 elégedett vásárlóval, az akciókról nem is beszélve… SQL szerver ugyan nem száll el exponenciálisan ( bírná a terhelést ha 22Ghz-es lenne 30Gb cache-el, tehát skálázható elméletben,de akkor is…), de képtelen feldolgozni a sokszoros kérést….
Nincs más hátra mint architektúrális (ÁT)tervezés!!! (Vagy persze bele lehet ölni végtelen mennyiségű jó kemény magyar forintot több és több vasba, aminek csak az áramszámlája elviszi a hasznot)

Rodin__The_Thinker

Szakértőnk elemezvén a helyzetet arra a megállapításra jut, hogy az architektúra annyira nem feltétlen rossz, csak egy kis furfang kellene, mert tulajdonképpen az idő(erőforrások) nagy részét a termékek leírásának/adatlapjának az előkeresése, ill. a képek kiszolgálása viszi el. Továbbá erőforrás igényes és körülményes a raktárkészlet információk kezelése a megrendelések szempontjából. Egy termékből nem azt tartjuk nyilván hogy 5 darab, mert akkor csak azt kell figyelni hogy nagativba ne menjen a készlet, hanem minden egyes darab egy sort jelent egy táblában (az egyszerűség kedvéért tekintsük úgy hogy minden számítástechnikai termék egyedi azonosítóval rendelkezik. tehát nem csak a processzor, winchester, alaplap,stb. hanem minden…) (Ha ebbe nehéz belegondolni, akkor hozhatjuk példának a jegyásursítást. Ha helyre szóló jegyek vannak akkor egy jegyet pontosan egyszer lehet eladni.) Vagyis egyedi erőforrásként kell(ene) kezelni. Ez megnehezíti egy csöppet a helyzetünket (a cache-elése az ilyen adatoknak kihívás!!!).
Probléma még, mivel júzerikszperienből nem adunk alább, a session jellegű adatok megfelelő kezelése:
web-farm esetében A szerverren bejelentkezik Béla, majd a load-balancer valami miatt, pl A szerver hősi halála okán, B szerverre küldi a következő kérést… ekkor ugye érheti meglepetés Bélát…

(ugye ismerős? találkozhatunk hasonlóval, lehet ez webshop, közösségi oldal, valamilyen hullámzó terheltségű oldal, pl. egy foci-bajnoskság, póker-bajnokság oldal, stb.)

Szakértőnk elmélázik, hogy hogy is lehetne megoldani a helyzetet, és arra a nem meglepő következtetésre jut hogy bizony ide olyan gyorsítótár szolgáltatás kellene, mely nem bonyolítja túl az architektúrát, megfelelően kihasználja az erőforrásokat annak érdekénen hogy tehermentesítse az SQL szervert (amit ugye nehéz egy bizonyos szint főlé skálázni), villámsebesen kiszolgálja az alkalmazás motor által kért kéréseket, mindezt persze úgy hogy választ ad a fent részletezett problémákra, és teszi ezt programozó barát módon ( na jó, rendszergazda és  programozó módon).

Szakértőnk nekikát és felvési az igényeket, hogy házalni tudjon vele, azon meggyőződéssel hogy ő márpedig ebből nem enged!!!

  • kell egy bármilyen (értsd CLR, bináris, XML, szöveges, stb.) adatok cache-elését támogató memoria cache
    (memória olcsó, relatíve olcsón hozzá lehet jutni akár terrabyte-okhoz is)
  • elosztott legyen, azaz tetszőleges számú gép lehessen a fürtben, így tetszőleges lehet a cache méret is->skálázhatóság
    (Akár menet közben is közel online módon, pl. ideiglenesen megnövekvő forgalom esetén->akció,választás,stb.)
  • a programozónak ne kelljen az eloszottsággal törődnie, azaz fentről nézve egységes legyen.
  • katalógus adatokat kezelje villámsebesen a lehető legnagyobb sebességgel
  • a session adatokat kezelje megbízhatóan, a lehető leggyorsabban
  • az erőforrás adatok kezelése megoldott legyen (ne lehessen eladni ugyan azt a terméket, lsd. fent)
  • biztonságos legyen
  • programozó barát legyen
  • rendszergazda barát legyen (üzemeltetése a megszokott módon a megszokott lehetőségeket biztosítsa)
  • ingyenes legyen 😀

Nos… azért ezt nem programozzuk le jövő hétre, ugye?!? Szerencsére nem is kell!!!

Windows Server AppFabric (született Velocity, Microsoft Distributed Cache)
(nincs köze az Azure AppFabric-hez, lsd névkommandós bejegyzés)
veloarch

A Windows Server AppFabric cache szolgáltatása képes kezelni a fent vázolt helyzetet. Úgy gondolom hogy akkor is érdemes ezt az oldalát is ismerni az AppFabric-nek (nem csak a WCF+WF-t) és a .Net 4.0-nak, ha éppen nem olyan rendszer bütykölünk a garázsban ami 1.000.000 usert szolgál ki terrabyte-os adatbázisok felett. Ugyanis sose tudhatjuk hogy mikor válik ilyenné a rendszerünk :D, másrészről pedig nem feltétlen kell itt 10-20 gépes cache rétegekre godnolni, kis méretekben is hasznos tud lenni!!!

És miért is AppFabric? Beszéljenek a számok:
perf1
(ez egy quad gép, de kb 2008-ból)

Ezért tervezem hogy a következőkben megismerkedünk az AppFabric Cache hátterével (architektúra, mit tud, hogyan tudja, hogyan kell programozni), és különböző esetek segítésével megnézzük a teljesítményeket…

Összefoglalás

E sarkított bevezető után kitérünk egy ilyen cache rendszer sajátosságaira, és kirészletezzük a  “specifikációban” megfogalmazott elvárásokat ill. következményeit. Vagyis szó lesz arról hogy hogyan kategorizáljuk a cache-elendő adatokat, hogy a kívánt célt érjük el (Katalógus adat->írtó gyors legyen, nagy áteresztő képességgel; Session adat->biztosított legyen, pl. HW hiba esetén; Katalógus adat-> zárolások).
Miután áttekintettük az elméletet megismerkedünk az API-val, vagyis hogyan programozzuk a kicsikét, ill. hogyan illeszthető mindez egy (meglévő) architektúrába…
S végül a legfontosabb, ha sikerül összehozni egy 5-10 gépes játékteret, performancia teszt alá vetünk egy-két állatorvosi-lovat és ASP.Net weboldalt, eljátszva az összes szituációt (kihuzza a takarítónő a szervert, hogy mögötte is feltakarítson, akciót hirdetünk 1 napra és felmegy a terhelés 3-5X-re).

És hogy addig se unatkozzunk, ajánlom figyelmébe mindenkinek a lenti linkek mögötti tartalmat, továbbá Tóth László (Tocsi) barátom előadását a Visual Studio 2010 bemutató eseményen.

Információk a Windows Server App Fabric Cache-ről:

(Javaslom hogy a fenti listán idősorrendben menjünk, ugyan a 2008-as PDC előadás környékén még csak CTPx volt, de nagyon-nagyon hasznos infók hangzanak el az egész KONCEPCIÓVAL kapcsolatban, nem túl célravezető a végén kezdeni)

Kategória: AppFabric | Megjegyzés hozzáfűzése

Mindent vagy semmit(keveset)

…ez itt a kérdés.

Elkezdtem írni magamnak egy listát, hogy mivel szeretnék, akarok, kellene megismerkedni  a közeljövőben, hogy tartsam a lépést, ill. mi az a téma ami érdekel szívesen elmélyednék benne. mert érdekel.

Akkora a lista hogy csoportosítani kell 😀
(amit lehet ezer módon…)

  • Technológia
    • Silverlight 3-4 újdonságok
    • WF 4
    • WCF 4, WCF Security++
    • WCF+WF->AppFabric
    • AppFabric cache,Velocity, az egyik kedvenc 😀
    • Silverlight Windows Phone-on
    • WCF Data Services, REST, ODATA
    • MultiTouch
    • SyncFramework
    • EntityFramework
    • WCF RIA Services
    • Paralell Framework, PLINQ
    • C# 4.0
    • Azure alapok…
  • Tesztelés, debuggolás, performancia
    • IntelliTrace
    • VS 2010 IDE
    • Windows Performance Toolkit
    • WPF Performance
    • VS2010 Team –> *Test
  • Módszertanok, enterprise cuccok, stb.
    • MVVM, PRISM, CAG, stb…
    • MEF
    • VS 2010 Team *.*
    • TDD, Agile, stb.
  • Egyéb érdekességek
    • MSSQL 2008 developer szemüveggel-> TSQL++, performancia, SQL internals
    • Smooth Streaming
    • Design,UX

Elkeserítő

Persze gyakorlatilag majdnem mindent felírtam ami körül most mozgás van, de akkor is. Akármilyen sapkát húzok is fel (Web programozó, desktop programozó, elszotott programozó, architect, stb.) legalább a felét akkor is ismerni kell ezeknek, tehát nem tud kibújni az ember a feladat alol, vagyis hogy megtanulja a fentieket.

Amiért megosztom veletek ezeket a gondolatokat az az, hogy megkérdezzem ki hogy látja ezt? Van értelme-nincs értelme? Ki hogy bírja munka mellett, tanulás mellett, csajok-XBOX 🙂 mellett?!?!?

Kategória: Kategorizálatlan | Megjegyzés hozzáfűzése

Silverlight 4 Launch

http://www.devconnections.com/shows/SP2010ASP/default.asp?s=142

Tehát eszerint VS2010-el együtt a Silverlight 4 is útjára indul…

Kategória: Silverlight | Megjegyzés hozzáfűzése

Entity Framework EF4 – (Értsük és) Tanuljuk meg!!!

 EntityFrameworkVision
Lassan ideje lenne már felhoznom a tudásomat Entity Framework témából… Be kell valjam az “előző” verziót sem ismerem A-Z-ig, sőt…

Ennek kapcsán kezdtem el keresgélni honnan is kellene nekiindulni e nagy falatnak, talán ez hasznos lehet más számára is:

Alapok:

EF4:

Ill. találtam egy bejegyzést az ADO.Net team blog-on, amely szintén összeszedi az újdonságokat. Ennek érdekessége hogy azt írják hogy sok dolog a LINQ 2 SQL-ből “jött”. Visszanyal a fagyi 😀

  • POCO support and Proxies
  • Lazy/Deferred Loading
  • Foreign Keys
  • ObjectSet and Testability
  • Model First/Database Generation
  • LINQ to Entities Improvements
  • Pluralization
  • Stored procedures that return complex types
  • Provider changes, including support for Date/Time, Math, and Provider Supplied Functions
  • ExecuteStoreQuery, Translate

     

    Könyvek :

    Hajrá!!!!

  • Kategória: Entity Framework | Megjegyzés hozzáfűzése

    Ebook WPF

    Egy érdekes írásra találtam: WPF Application Quality Guide.

    Tulajdonképpen egy Guide-line WPF applikációk fejlesztéséhez.

    WPF Application Quality Guide v.0.5

    HTML : http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx

    Kategória: Books | Megjegyzés hozzáfűzése