Nějak nechápu, jak ten váš kód funguje. V případě, že editujete záznam, tak správné schéma je ta vaše druhá ukázka - vytáhnu si ten objekt z databáze, změním mu hodnoty a zavolám SubmitChanges. Není mi ale jasné, proč v první ukázce vytváříte nový Article, do nějž ta data vkládáte, a ten si pak předáváte do metody UpdateArticle. Chápu, že se asi nějak snažíte oddělit datovou vrstvu a ovládání komponent, pak bych to ale řešil takto: 1.) V datové vrstvě udělat metodu GetArticle, která vrátí objekt Article podle ID. 2.) V datové vrstvě udělat metodu UpdateArticle, do níž dát předávat článek, ale nechat v ní jen dc.SubmitChanges. Časem se taková metoda může hodit, při změně článku budete chtít třeba poslat e-mail nebo tak něco. 3.) V kódu stránky při editaci pak si pomocí GetArticle vytáhnout správný objekt Article, pak jej naplnit z komponent, a předat ho metodě UpdateArticle. Jinak ten kód pro naplnění komponent z objektu a naplnění objektu z komponent, který ve stránce máte, toho se dá relativně elegantně zbavit pomocí databindingu. Protože je to docela hezké téma, napíšu o tom v nejbližších dnech článek.
|