Subsônico 3 Salvar () e depois Atualizar ()?

Eu preciso para obter a chave primária para uma linha e, em seguida, inseri-lo em uma das outras colunas em uma seqüência de caracteres.

Então eu tentei fazer algo assim:

newsObj = new news();
newsObj.name = "test"
newsObj.Save();
newsObj.url = String.Format("blah.aspx?p={0}",newsObj.col_id);
newsObj.Save();

Mas ele não o trata como o mesmo objeto de dados, então newsObj.col_id sempre volta como zero. Existe outra maneira de fazer isso? Eu tentei isso em outra página e para fazê-lo funcionar eu tive que definirnewsObj.SetIsLoaded(true);

Este é o bloco real de código:

page p;

if (pageId > 0)
    p = new page(ps => ps.page_id == pageId);
else
    p = new page();

if (publish)
    p.page_published = 1;

if (User.IsInRole("administrator"))
    p.page_approved = 1;

p.page_section = staticParent.page_section;
p.page_name = PageName.Text;
p.page_parent = parentPageId;
p.page_last_modified_date = DateTime.Now;
p.page_last_modified_by = (Guid)Membership.GetUser().ProviderUserKey;
p.Add();
string urlString = String.Empty;
if (parentPageId > 0)
{
    urlString = Regex.Replace(staticParent.page_url, "(.aspx).*$", "$1");  // We just want the static page URL (blah.aspx)          
    p.page_url = String.Format("{0}?p={1}", urlString, p.page_id);
}
p.Save();

Se eu passar o p.Save (); Eu posso ver os valores corretos no objeto, mas o banco de dados nunca é atualizado e não há exceção. Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion