<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Developer Evangelist : Arrangementer</title><link>http://blogs.msdn.com/danielmf/archive/tags/Arrangementer/default.aspx</link><description>Tags: Arrangementer</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Var til CNUG møde igår, kommer du næste gang ?</title><link>http://blogs.msdn.com/danielmf/archive/2008/06/20/var-til-cnug-m-de-ig-r-kommer-du-n-ste-gang.aspx</link><pubDate>Fri, 20 Jun 2008 16:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8625344</guid><dc:creator>danielmf</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/danielmf/comments/8625344.aspx</comments><wfw:commentRss>http://blogs.msdn.com/danielmf/commentrss.aspx?PostID=8625344</wfw:commentRss><wfw:comment>http://blogs.msdn.com/danielmf/rsscomments.aspx?PostID=8625344</wfw:comment><description>&lt;p&gt;Jeg havde fornøjselsen af at være i Ballerup igår, men det var hverken hos IBM eller KMD. Der var CNUG møde for første gang og &lt;a href="http://intellect.dk/" mce_href="http://intellect.dk/"&gt;Jakob&lt;/a&gt; havde forberedt et rigtig godt indlæg omkring hvad ORM er og hvordan man bruger software såsom nHibernate og LINQ 2 SQL.&lt;/p&gt;  &lt;p&gt;Der er var en 20 stykker samlet og alle var ivrige for at deltage i debatten omkring hvad de syntes en sådan gruppe skulle kunne gøre for dem og alle os andre.&lt;/p&gt;  &lt;p&gt;CNUG er en brugergruppe for .NET udviklere, den er stiftet og vedligeholdt af Jakob Andersen (Miracle) og Mads Kristensen (ZYB). Alle er velkomne og det er helt gratis...ja, det er helt gratis.&lt;/p&gt;  &lt;p&gt;Flere havde haft problemmer med LINQ 2 SQL implementationen i deres applikation, mest fordi man nok skal vænne sig til den Unit of Work tankegang der ligger i brugen af ORM, men også fordi det er en lidt anden måde at håndtere sine data på end f.eks hvis man snakkede direkte med databasen. Der er arbejde i at have med ORM at gøre og noget af det Jakob lagde meget vægt på i sit oplæg var at &lt;u&gt;man skal kende sin ORM. &lt;/u&gt;Ligsom med alt andet for du intet foræret uden at der arbejde ivolveret.&lt;/p&gt;  &lt;p&gt;Jeg har implementeret LINQ 2 SQL i et projekt, og det køre strålende. &lt;a href="http://blogs.msdn.com/danielmf/archive/2008/05/07/video-interview-med-nis-wilson-nissen-orm-linq-to-sql.aspx" mce_href="http://blogs.msdn.com/danielmf/archive/2008/05/07/video-interview-med-nis-wilson-nissen-orm-linq-to-sql.aspx"&gt;Nis Wilson Nissen fra Knappe &amp;amp; Kragh i Svendborg&lt;/a&gt; har gjort det samme i deres produkt, og de har en masse data, men ikke noget LINQ 2 SQL ikke kan håndtere. &lt;/p&gt;  &lt;p&gt;Du kan vælge at implementere LINQ 2 SQL med en DataContext pr. Request. Jeg er sikker på der er andre måder at gøre dette på, men her er min måde:&lt;/p&gt;  &lt;p&gt;using System.Web; &lt;/p&gt;  &lt;p&gt;namespace DAL   &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Simple class to implement request-scoped DataContext pattern for LINQ to SQL.    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class DataContextHelper    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Privates &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Dictionary key for the DataContext in HttpContext.Current.Items    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private const string DATACONTEXT_ITEMS_KEY = "MyDataContext"; &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Private property to store the DataContext in the HttpContext.Current.Items    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static MyDataContext InternalDataContext    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (MyDataContext)HttpContext.Current.Items[DATACONTEXT_ITEMS_KEY];    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpContext.Current.Items[DATACONTEXT_ITEMS_KEY] = value;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Public and Protected Properties and Methods &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Returns the current DataContext. If none configured yet, then creates a new one and returns it. Internal access    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// so that only the DAL layer can access.    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;A reference to a DataContext&amp;lt;/returns&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal static MyDataContext DataContextInstance    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If the context is missing, create a new one    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (InternalDataContext == null)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternalDataContext = new MyDataContext();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return InternalDataContext;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Saves all changes on the current DataContext. Public scope to allow calling from upper tiers of application.    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void SubmitChanges()    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataContextInstance.SubmitChanges();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Cleanup the context (dispose the context and set it to null). Public scope allows calling from upper tiers.    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void CleanUp()    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (InternalDataContext != null)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternalDataContext.Dispose();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternalDataContext = null;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;}&lt;/p&gt;  &lt;p&gt;Istedet for at oprette en DataContext for hver gang du skal bruge den gemmer du din instans i en slags cache (HttpContext.Current.Items) og genbruger samme DataContext hver gang du laver et kald til databasen.&lt;/p&gt;  &lt;p&gt;En meget simpel måde at vise det på er følgende:&lt;/p&gt;  &lt;p&gt;using System.Linq; &lt;/p&gt;  &lt;p&gt;/// &amp;lt;summary&amp;gt;   &lt;br&gt;/// Summary description for UserDal    &lt;br&gt;/// &amp;lt;/summary&amp;gt;    &lt;br&gt;public class UserDal    &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void Insert(User user)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DAL.DataContextHelper.DataContextInstance.Users.InsertOnSubmit(user);    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DAL.DataContextHelper.DataContextInstance.SubmitChanges();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static User GetById(int userId)   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var userQuery = from users in DAL.DataContextHelper.DataContextInstance.Users    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where (users.pk_user == userId)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select users; &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userQuery.Single();   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void Update(User user)   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DAL.DataContextHelper.DataContextInstance.SubmitChanges();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;}&lt;/p&gt;  &lt;p&gt;Her har vi en simpel klasse hvorpå der er et par metoder som skal gøre forskellige ting. Det er nemt at se sig ud af.&lt;/p&gt;  &lt;p&gt;Hvis man ikke bruger den samme DataContext for man fejl ved selv de mest enkelte kald.&lt;/p&gt;  &lt;p&gt;using System; &lt;/p&gt;  &lt;p&gt;public partial class _Default : System.Web.UI.Page   &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender, EventArgs e)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserDal.Insert(new User { email = "daniel", username = "daniel" });    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User daniel = UserDal.GetById(27); &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daniel.username = "daniel_hulla"; &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserDal.Update(daniel);   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;}&lt;/p&gt;  &lt;p&gt;Her ser du en simpel side som indsætter, henter og opdatere.&lt;/p&gt;  &lt;p&gt;Jeg synes du skal prøve at se om det virker &lt;u&gt;med og uden&lt;/u&gt; din hjælpe metode, så kan du selv se hvad jeg mener.&lt;/p&gt;  &lt;p&gt;Håber i kan bruge det til noget :0)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8625344" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/danielmf/archive/tags/Arrangementer/default.aspx">Arrangementer</category></item><item><title>Video fra Umbraco Code Garden 2008.</title><link>http://blogs.msdn.com/danielmf/archive/2008/06/12/video-fra-umbraco-code-garden-2008.aspx</link><pubDate>Thu, 12 Jun 2008 15:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8593037</guid><dc:creator>danielmf</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/danielmf/comments/8593037.aspx</comments><wfw:commentRss>http://blogs.msdn.com/danielmf/commentrss.aspx?PostID=8593037</wfw:commentRss><wfw:comment>http://blogs.msdn.com/danielmf/rsscomments.aspx?PostID=8593037</wfw:comment><description>&lt;p&gt;Dem der synes vi er alt for alvorlige skal se det her, men synes du derimod ikke at humor er noget du bryder dig om skal du tænde for teksts-tv på dk4. &lt;/p&gt;  &lt;p&gt;Jeg var til Code Garden i sidste uge, og sikke et arrangement &lt;a href="http://objects.dk/"&gt;Per&lt;/a&gt; og &lt;a href="http://hartvig.com/"&gt;Niels&lt;/a&gt; havde fået sat på benene. Det var fantastisk inspirende og ikke mindst - mega sjovt og hyggeligt.&lt;/p&gt;  &lt;p&gt;Der var i alt 100 mennesker som på en eller anden måde har med Umbraco communitiet at gøre. The most friendly CMS and community!&lt;/p&gt;  &lt;p&gt;Dag 1 bød på keynote af Niels selv, og han fortalte lidt omkring roadmappet og hvordan det hele gik i forhold til året før. Meget spændende. Senere på dag 1 var der små sessions, hvor den 1 session hele tiden henvendte sig til nybegynderen af Umbraco CMS (er i 4.0 beta mener jeg)&lt;/p&gt;  &lt;p&gt;Dag 2 begyndte med en stor rundkreds, en mikrofon i midten også kunne alle der havde lyst tage mikrofonen og sige "jeg vil gerne fortælle om....". Det gjorde 24 mennesker så i løbet af en halv time, og derefter kunne de forskellige slutte sig til de små grupper rundt omkring for at høre om de mange emner. Det var en blanding af "Open Space" og "Brown Bag" møde format.&lt;/p&gt;  &lt;p&gt;I det store hele var det her virklig et godt arrangement og fortjener at blive at blive promoveret i langt højere grad end blot et par blog indlæg.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;embed src="http://techtalks.codezone.dk/movie_0001.wmv" style="left: 0px; width: 480px; top: 112px; height: 405px;" type="video/x-ms-wmv" mce_src="http://techtalks.codezone.dk/movie_0001.wmv" autostart="false" width="480" height="405"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8593037" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/danielmf/archive/tags/Udvikler/default.aspx">Udvikler</category><category domain="http://blogs.msdn.com/danielmf/archive/tags/Arrangementer/default.aspx">Arrangementer</category></item><item><title>En stor tak til Updater Systems.</title><link>http://blogs.msdn.com/danielmf/archive/2008/05/15/en-stor-tak-til-updater-systems.aspx</link><pubDate>Thu, 15 May 2008 14:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8507662</guid><dc:creator>danielmf</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/danielmf/comments/8507662.aspx</comments><wfw:commentRss>http://blogs.msdn.com/danielmf/commentrss.aspx?PostID=8507662</wfw:commentRss><wfw:comment>http://blogs.msdn.com/danielmf/rsscomments.aspx?PostID=8507662</wfw:comment><description>&lt;p&gt;Der var geek dinner i Odense, og det var en event som undertegnet var med til at arrangere, men desværre ikke kunne møde op til grundet sygdom.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.activedeveloper.dk/deldy" class="" mce_href="http://blogs.activedeveloper.dk/deldy"&gt;Jesper "Deldy"&lt;/a&gt;&amp;nbsp;skal have mest af æren for at eventen blev afholdt, det var nemlig ham der fremlagde en præsentation omkring AJAX. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://updater.dk" class="" mce_href="http://updater.dk"&gt;Updater Systems&lt;/a&gt;&amp;nbsp;lagde lokaler til i de tidlige timer af eventen og det var stort gjort af dem, da de hverken kender mig eller Jesper. Det var fedt Updater!&lt;/p&gt;
&lt;p&gt;Der bliver vist nok snakket om at lave en brugergruppe i Odense, og det vil jo være spændende. Hold øjne og øre åbne for den slags i den nærmeste fremtid.&lt;/p&gt;
&lt;p&gt;Skal vi aldrig kode tænker du sikkert...og jo, det skal vi, så jeg fortsætter snarest min Silverlight serie også napper jeg lige en række posts omkring de indbyggede extension methods i VB.NET og C#. Læg mærke til, at VB.NET er med denne gang, for jeg lovede Morten Jokumsen at jeg&amp;nbsp;ville oppe mig mht. VerdensBedste.NET :0)&lt;/p&gt;
&lt;p&gt;Catch you on the flipside.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8507662" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/danielmf/archive/tags/Arrangementer/default.aspx">Arrangementer</category></item></channel></rss>