Bře
28
LINQ to SQL je skvělá věc, ale pár věcí by ještě bylo potřeba dotáhnout. Pokud provedete změny v databázové struktuře, Visual Studio nenabízí žádnou pomůcku, která by je vám pomohla reflektovat ve vašich LINQ to SQL třídách.
V počátečních fázích vývoje může stačit v takovém případě prostě patřičné entity z DBML souboru odstranit a tabulky tam natahat znovu, ale jakmile si začnete mapování přizpůsobovat (přejmenovávat entity, přejmenovávat sloupce, navěšovat události apod.), tak tahle možnost už nepřichází v úvahu.
Existuje komerční add-in Huagati DBML/EDMX Tools (od $50), který kromě pár dalších věcí umí i přenášet změny z databáze do LINQ to SQL tříd. Jenže Express edice Visual Studia nemají podporu add-inů, takže nic pro mě.
Jediná možnost, na kterou jsem přišel (tady), spočívá v tom, že si do designéru přetáhnu novou kopii změněné tabulky, změny do té staré přenesu copy-pastováním a novou smažu:
Bohužel takhle snadno nelze kopírovat vazby mezi entitama, na to už musíte otevřít zdrojový kód DBML souboru. Lišta Design / Split / Source, známá z Web Form editoru, tady bohužel chybí, ale když na soubor kliknete pravým myšítkem v Solution Exploreru, máte tam i volbu Open With…, která vám umožní soubor otevřít v XML editoru (DBML není nic než XML):
Moc nadšený z toho nejsem. Nezbývá než doufat, že s tím něco udělají ve VS 2010…
