Hova tűnt az Add?

A minap azzal küzdöttem, hogy Visual Studio 2008 Release Candidate alatt próbáltam működésre bírni egy LINQ to SQL-es projektet, ami Beta 2 alatt készült. Keserves küzdés volt, mert nagyon nem hagyta magát, hiányzott neki a generált entitás osztályokon az Add metódus. Reménykedtem, hogy nem azt képzeli, majd én fogom megírni?! A Beta 2-ben még biztosan volt a Table<T> típusnak Add metódusa, most meg csak ezt kántálja a fordító:

'System.Data.Linq.Table<AccountRequest>' does not contain a definition for 'Add' and no extension method 'Add' accepting a first argument of type 'System.Data.Linq.Table<AccountRequest>' could be found (are you missing a using directive or an assembly reference?)

Megjegyzem az jópofa, hogy már itt is megjelentek az extension metódusok :)  Irány a gugli meg a nagy koppanás, hiszen a Visual Studio RC változat nem publikus, csak egy aránylag szűk kör kapta meg, így nem túl sok sikerrel kerestem arra, hogy breaking changes.

Kereskényi Roby kellett hozzá, hogy megtudjam, a Beta 2 után bizony átneveztek néhány metódust, mert a régi név nem vot egyértelmű:

  • Add --> InsertOnSubmit
  • AddAll --> InsertAllOnSubmit
  • Remove --> DeleteOnSubmit
  • RemoveAll --> DeleteAllOnSubmit

Így valóban egyértelműbb, hogy mikor mi történik, és talán nem fogjuk elfelejteni meghívni a SubmitChanges metódust sem. De ami még jobb, hogy az OnValidate partial method végre megkapja paraméterben, hogy mikor fut, még pedig egy enumeráció formájában:

partial void OnValidate( System.Data.Linq.ChangeAction action );

ahol a ChangeAction így fest:

  namespace System.Data.Linq {
    public enum ChangeAction {
      None = 0,
      Delete,
      Insert,
      Update
    }
  }

Nem hiába, olvasott embernek párja nincs! Különösen, ha Silverlightról bloggol, lehet kapaszkodni...



Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2007.10.27. 17:52:12 | Permalink | Hozzászólások: 0 | Tárgyszavak: , , ,


  • VS 2008 Beta2 lejár szerdán!

    Balássy György (MS RD, ASP.NET MVP, MCTS) Bizonyára többekhez eljutott már Jeff Beehler blog bejegyzése, miszerint gond van az Orcas beta 2 VPC-kkel. Eredetileg úgy tervezték ezeket az image-eket, hogy 2008. márciusig lehessen rajtuk játszani a Visual Studio 2008 bétájával, de a Windows közbeszólt, ugyans az operációs rendszer lejár 2007. november elsején! Ez egyrészt azért kínos, mert az azóta elkészült release candidate változat nem publikus, másrészt azért, mert előfordulhat, hogy valaki ezeken az image-eken nem csak a VS-t teszteli, hanem a Team Foundation Servert is és számára viszont elég zavaró, ha szerda után nem tudja visszanyerni a forráskódjait. Tovább »
  • Miért fáj a web, és hogy lesz ennek vége?!

    Dávid Zoltán A webes világnak három alappillére van: a tartalmak előállítói, a böngészők fejlesztői és a szabványokat koordináló W3C. Most e három területből kettő is nagy változások színtere: a W3C tíz év (‘97-‘07) után leszállt az XHTML vonalról, és a HTML5 mellett tett hitet. A böngészőgyártók közül pedig a Microsoft jön ki az Internet Explorer 9-cel, mely többek között HTML5 kompatibilis, számos újítása van, de mégsem különutas. Talán eljött a nyugodt webfejlesztés világa. Miért? Mert az eddigi gondokat az alábbi három dolog okozta. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások