<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>LINQtoAD Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home</link><description>LINQtoAD Wiki Rss Description</description><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Introduction
&lt;/h2&gt;LINQ to Active Directory implements a custom LINQ query provider that allows querying objects in Active Directory. Internally, queries are translated into LDAP filters which are sent to the server using the System.DirectoryServices .NET Framework library.
 LINQ stands for Language Integrated Query and is one of the core features of Microsoft's .NET Framework 3.5 release. More information can be found via the MSDN website on &lt;a href="http://msdn.microsoft.com" class="externalLink"&gt;http://msdn.microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Features
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Translates into &lt;b&gt;LDAP filters&lt;/b&gt; according to &lt;a href="http://www.faqs.org/rfcs/rfc2254.html" class="externalLink"&gt;RFC 2254&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Simple and approachable &lt;b&gt;entity model&lt;/b&gt; with support of propagating &lt;b&gt;updates&lt;/b&gt; back.&lt;/li&gt;&lt;li&gt;Supports mappings to both the &lt;b&gt;System.DirectoryServices&lt;/b&gt; (.NET) and &lt;b&gt;ActiveDs&lt;/b&gt; (COM) APIs.&lt;/li&gt;&lt;li&gt;Ships with a set of &lt;b&gt;samples&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Disclaimer
&lt;/h2&gt; &lt;br /&gt;This project is meant as a basic sample on implementing custom LINQ query providers. It hasn't been tested thoroughly and we do not provide any support whatsoever. Do not use it in a production environment without proper testing and validation of the technology's behavior. Users are most welcome to report issues and bugs through the Issue Tracker on this site.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Samples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
C# sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    // NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    var users = new DirectorySource&amp;lt;User&amp;gt;(ROOT, SearchScope.Subtree);
    users.Log = Console.Out;
 
    var res = from usr in users
              where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) &amp;amp;&amp;amp; usr.Office == &amp;quot;2525&amp;quot;
              select new { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount };
 
    foreach (var u in res)
    {
        Console.WriteLine(u);
        u.Office = &amp;quot;5252&amp;quot;;
        u.SetPassword(pwd);
    }
 
    users.Update();
&lt;/pre&gt; &lt;br /&gt;&lt;h3&gt;
Visual Basic sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    ' NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    Dim users As New DirectorySource(Of User)(ROOT, SearchScope.Subtree)
    users.Log = Console.Out
 
    Dim res = From usr In users
              Where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) And usr.Office = &amp;quot;2525&amp;quot;
              Select New With { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount }
 
    For Each u In res
        Console.WriteLine(u)
        u.Office = &amp;quot;5252&amp;quot;
        u.SetPassword(pwd)
    Next
 
    users.Update()
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
About the project founder
&lt;/h2&gt; &lt;br /&gt;A former Visual C# MVP, &lt;b&gt;Bart De Smet&lt;/b&gt; now works at Microsoft Corporation on the WPF dev team in an SDE role. Prior to this new challenge, Bart was active in the Belgian community evangelizing various Microsoft technologies, most of the time focusing on CLR, language innovation and frameworks. In his evangelism role, he's been speaking at various events and attended several international conferences including TechEd Europe, IT Forum and the PDC. In 2005, Bart graduated as a Master of Informatics from Ghent University, Belgium. Two years later, Bart became a Master of Computer Science Software Engineering from the same university.&lt;br /&gt; &lt;br /&gt;You can visit Bart's blog on &lt;a href="http://blogs.bartdesmet.net/bart" class="externalLink"&gt;http://blogs.bartdesmet.net/bart&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>bdesmet</author><pubDate>Thu, 29 Nov 2007 08:37:24 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071129083724A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Introduction
&lt;/h2&gt;LINQ to Active Directory implements a custom LINQ query provider that allows querying objects in Active Directory. Internally, queries are translated into LDAP filters which are sent to the server using the System.DirectoryServices .NET Framework library.
 LINQ stands for Language Integrated Query and is one of the core features of Microsoft's .NET Framework 3.5 release. More information can be found via the MSDN website on &lt;a href="http://msdn.microsoft.com" class="externalLink"&gt;http://msdn.microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Features
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Translates into &lt;b&gt;LDAP filters&lt;/b&gt; according to &lt;a href="http://www.faqs.org/rfcs/rfc2254.html" class="externalLink"&gt;RFC 2254&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Simple and approachable &lt;b&gt;entity model&lt;/b&gt; with support of propagating &lt;b&gt;updates&lt;/b&gt; back.&lt;/li&gt;&lt;li&gt;Supports mappings to both the &lt;b&gt;System.DirectoryServices&lt;/b&gt; (.NET) and &lt;b&gt;ActiveDs&lt;/b&gt; (COM) APIs.&lt;/li&gt;&lt;li&gt;Ships with a set of &lt;b&gt;samples&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Disclaimer
&lt;/h2&gt; &lt;br /&gt;This project is meant as a basic sample on implementing custom LINQ query providers. It hasn't been tested thoroughly and we do not provide any support whatsoever. Do not use it in a production environment without proper testing and validation of the technology's behavior. Users are most welcome to report issues and bugs through the Issue Tracker on this site.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Samples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
C# sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    // NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    var users = new DirectorySource&amp;lt;User&amp;gt;(ROOT, SearchScope.Subtree);
    users.Log = Console.Out;
 
    var res = from usr in users
              where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) &amp;amp;&amp;amp; usr.Office == &amp;quot;2525&amp;quot;
              select new { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount };
 
    foreach (var u in res)
    {
        Console.WriteLine(u);
        u.Office = &amp;quot;5252&amp;quot;;
        u.SetPassword(pwd);
    }
 
    users.Update();
&lt;/pre&gt; &lt;br /&gt;&lt;h3&gt;
Visual Basic sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    ' NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    Dim users As New DirectorySource(Of User)(ROOT, SearchScope.Subtree)
    users.Log = Console.Out
 
    Dim res = From usr In users
              Where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) And usr.Office = &amp;quot;2525&amp;quot;
              Select New With { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount }
 
    For Each u In res
        Console.WriteLine(u)
        u.Office = &amp;quot;5252&amp;quot;
        u.SetPassword(pwd)
    Next
 
    users.Update()
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
About the project founder
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;Bart De Smet&lt;/b&gt; is Microsoft MVP for Visual C# and specializes in various Microsoft-related technologies, covering .NET Framework development, CLR, C#, SQL Server and Windows Server System. Since the year 2000, Bart evangelizes Microsoft technologies and delivers presentations on several technology events. Beside his evangelism efforts, he's busy maintaining his blog, writing articles for the local MSDN website in Belgium and doing consultancy for various development projects, spending long and lonely nights with his computer. In 2005, Bart graduated as a Master Informatics from the university of Ghent, Belgium with a summa cum laude degree. Two years later he got a Master of Computer Science (Software Engineering) degree from the same university. For the spare free time that remains, he loves to read technical and scientific books, browse the internet for interesting articles and blog posts, and spend time with friends. Hiking trips, jogging and taking the challenge of playing a game of snooker are the keywords of Bart's limited sports activities.&lt;br /&gt; &lt;br /&gt;You can visit Bart's blog on &lt;a href="http://blogs.bartdesmet.net/bart" class="externalLink"&gt;http://blogs.bartdesmet.net/bart&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>bdesmet</author><pubDate>Mon, 26 Nov 2007 07:03:52 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071126070352A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Introduction
&lt;/h2&gt;LINQ to Active Directory implements a custom LINQ query provider that allows querying objects in Active Directory. Internally, queries are translated into LDAP filters which are sent to the server using the System.DirectoryServices .NET Framework library.
 LINQ stands for Language Integrated Query and is one of the core features of Microsoft's .NET Framework 3.5 release. More information can be found via the MSDN website on &lt;a href="http://msdn.microsoft.com" class="externalLink"&gt;http://msdn.microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Features
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Translates into &lt;b&gt;LDAP filters&lt;/b&gt; according to &lt;a href="http://www.faqs.org/rfcs/rfc2254.html" class="externalLink"&gt;RFC 2254&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Simple and approachable &lt;b&gt;entity model&lt;/b&gt; with support of propagating &lt;b&gt;updates&lt;/b&gt; back.&lt;/li&gt;&lt;li&gt;Supports mappings to both the &lt;b&gt;System.DirectoryServices&lt;/b&gt; (.NET) and &lt;b&gt;ActiveDs&lt;/b&gt; (COM) APIs.&lt;/li&gt;&lt;li&gt;Ships with a set of &lt;b&gt;samples&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Samples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
C# sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    // NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    var users = new DirectorySource&amp;lt;User&amp;gt;(ROOT, SearchScope.Subtree);
    users.Log = Console.Out;
 
    var res = from usr in users
              where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) &amp;amp;&amp;amp; usr.Office == &amp;quot;2525&amp;quot;
              select new { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount };
 
    foreach (var u in res)
    {
        Console.WriteLine(u);
        u.Office = &amp;quot;5252&amp;quot;;
        u.SetPassword(pwd);
    }
 
    users.Update();
&lt;/pre&gt; &lt;br /&gt;&lt;h3&gt;
Visual Basic sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    ' NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    Dim users As New DirectorySource(Of User)(ROOT, SearchScope.Subtree)
    users.Log = Console.Out
 
    Dim res = From usr In users
              Where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) And usr.Office = &amp;quot;2525&amp;quot;
              Select New With { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount }
 
    For Each u In res
        Console.WriteLine(u)
        u.Office = &amp;quot;5252&amp;quot;
        u.SetPassword(pwd)
    Next
 
    users.Update()
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
About the project founder
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;Bart De Smet&lt;/b&gt; is Microsoft MVP for Visual C# and specializes in various Microsoft-related technologies, covering .NET Framework development, CLR, C#, SQL Server and Windows Server System. Since the year 2000, Bart evangelizes Microsoft technologies and delivers presentations on several technology events. Beside his evangelism efforts, he's busy maintaining his blog, writing articles for the local MSDN website in Belgium and doing consultancy for various development projects, spending long and lonely nights with his computer. In 2005, Bart graduated as a Master Informatics from the university of Ghent, Belgium with a summa cum laude degree. Two years later he got a Master of Computer Science (Software Engineering) degree from the same university. For the spare free time that remains, he loves to read technical and scientific books, browse the internet for interesting articles and blog posts, and spend time with friends. Hiking trips, jogging and taking the challenge of playing a game of snooker are the keywords of Bart's limited sports activities.&lt;br /&gt; &lt;br /&gt;You can visit Bart's blog on &lt;a href="http://blogs.bartdesmet.net/bart" class="externalLink"&gt;http://blogs.bartdesmet.net/bart&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>bdesmet</author><pubDate>Mon, 26 Nov 2007 06:57:57 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071126065757A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Introduction
&lt;/h2&gt;LINQ to Active Directory implements a custom LINQ query provider that allows querying objects in Active Directory. Internally, queries are translated into LDAP filters which are sent to the server using the System.DirectoryServices .NET Framework library.
 LINQ stands for Language Integrated Query and is one of the core features of Microsoft's .NET Framework 3.5 release. More information can be found via the MSDN website on &lt;a href="http://msdn.microsoft.com" class="externalLink"&gt;http://msdn.microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Features
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Translates into &lt;b&gt;LDAP filters&lt;/b&gt; according to &lt;a href="http://www.faqs.org/rfcs/rfc2254.html" class="externalLink"&gt;RFC 2254&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Simple and approachable &lt;b&gt;entity model&lt;/b&gt; with support of propagating &lt;b&gt;updates&lt;/b&gt; back.&lt;/li&gt;&lt;li&gt;Supports mappings to both the &lt;b&gt;System.DirectoryServices&lt;/b&gt; (.NET) and &lt;b&gt;ActiveDs&lt;/b&gt; (COM) APIs.&lt;/li&gt;&lt;li&gt;Ships with a set of &lt;b&gt;samples&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
Samples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
C# sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    // NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    var users = new DirectorySource&amp;lt;User&amp;gt;(ROOT, SearchScope.Subtree);
    users.Log = Console.Out;
 
    var res = from usr in users
              where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) &amp;amp;&amp;amp; usr.Office == &amp;quot;2525&amp;quot;
              select new { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount };
 
    foreach (var u in res)
    {
        Console.WriteLine(u);
        u.Office = &amp;quot;5252&amp;quot;;
        u.SetPassword(pwd);
    }
&lt;/pre&gt; &lt;br /&gt;&lt;h3&gt;
Visual Basic sample
&lt;/h3&gt; &lt;br /&gt;&lt;pre&gt;
    ' NOTE: Entity type definition &amp;quot;User&amp;quot; omitted in sample - see samples in release.
 
    Dim users As New DirectorySource(Of User)(ROOT, SearchScope.Subtree)
    users.Log = Console.Out
 
    Dim res = From usr In users
              Where usr.FirstName.StartsWith(&amp;quot;B&amp;quot;) And usr.Office = &amp;quot;2525&amp;quot;
              Select New With { Name = usr.FirstName + &amp;quot; &amp;quot; + usr.LastName, usr.Office, usr.LogonCount }
 
    For Each u In res
        Console.WriteLine(u)
        u.Office = &amp;quot;5252&amp;quot;
        u.SetPassword(pwd)
    Next
&lt;/pre&gt; &lt;br /&gt;&lt;h2&gt;
About the project founder
&lt;/h2&gt; &lt;br /&gt;&lt;b&gt;Bart De Smet&lt;/b&gt; is Microsoft MVP for Visual C# and specializes in various Microsoft-related technologies, covering .NET Framework development, CLR, C#, SQL Server and Windows Server System. Since the year 2000, Bart evangelizes Microsoft technologies and delivers presentations on several technology events. Beside his evangelism efforts, he's busy maintaining his blog, writing articles for the local MSDN website in Belgium and doing consultancy for various development projects, spending long and lonely nights with his computer. In 2005, Bart graduated as a Master Informatics from the university of Ghent, Belgium with a summa cum laude degree. Two years later he got a Master of Computer Science (Software Engineering) degree from the same university. For the spare free time that remains, he loves to read technical and scientific books, browse the internet for interesting articles and blog posts, and spend time with friends. Hiking trips, jogging and taking the challenge of playing a game of snooker are the keywords of Bart's limited sports activities.&lt;br /&gt; &lt;br /&gt;You can visit Bart's blog on &lt;a href="http://blogs.bartdesmet.net/bart" class="externalLink"&gt;http://blogs.bartdesmet.net/bart&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>bdesmet</author><pubDate>Mon, 26 Nov 2007 06:57:08 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071126065708A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/LINQtoAD/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;LINQ to Active Directory implements a custom LINQ query provider that allows querying objects in Active Directory. Internally, queries are translated into LDAP filters which are sent to the server using the System.DirectoryServices .NET Framework library.
&lt;br /&gt;
&lt;/div&gt;</description><author>bdesmet</author><pubDate>Sun, 25 Nov 2007 22:28:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071125102846P</guid></item></channel></rss>