<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>dk2repository Wiki Rss Feed</title><link>http://dk2repository.codeplex.com/</link><description>dk2repository Wiki Rss Description</description><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
  Database db = Databases.Default;

  Databases.Register(&amp;quot;mysqltest&amp;quot;, new MySqlDatabase(&amp;quot;localhost&amp;quot;, &amp;quot;testdb&amp;quot;, &amp;quot;root&amp;quot;, &amp;quot;&amp;quot;));
  Database mysqldb = Databases.Get(&amp;quot;mysqltest&amp;quot;);
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;db.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = db.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = db.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = db.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provide the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If an entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Tue, 03 Jan 2012 14:43:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120103024344P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
  Database db = Databases.Default;
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;db.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = db.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = db.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = db.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provide the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If an entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Tue, 03 Jan 2012 14:42:00 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120103024200P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provide the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If an entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:47:01 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218084701P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provide the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If an entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Query(&amp;quot;Select Id, Name, Age FROM Users WHERE Age &amp;gt; ? ORDER BY Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:46:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218084614P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provide the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If an entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:31:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218083140P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provides the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
If a entity class is derived from the Repository class it provides extended functionality&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status, Save()&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
User u = new User();

u.Name = &amp;quot;Pep&amp;quot;;
u.Age = 30;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // New - 0

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u.Age = 21;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Save();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Unchanged - 1

u = User.SelectById(1);
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString() ); // Unchanged - 1

u.Age = 25;
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Updated - 1

u.Delete();
Console.WriteLine(u.Status.ToString() + &amp;quot; - &amp;quot; + u.Id.ToString()); // Deleted - 1

u = User.SelectById(1);
// u is null
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:29:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218082904P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provides the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Tracked Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provides the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class User : Repository&amp;lt;User&amp;gt;
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = User.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
user.Update();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Insert();
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
user.Delete();
&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:17:48 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218081748P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;public static void Main()
{ 
  Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
}
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DataTable Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lambda Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;IList&amp;lt;User&amp;gt; users = Databases.Default.Query(rdr =&amp;gt;
    {
        IList&amp;lt;User&amp;gt; list = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();
            user.Id = (int)rdr[0];
            user.Name = rdr[0].ToString();

            list.Add(user);
        }
        return list;

    }, &amp;quot;SELECT Id, Name FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Command Query&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
class SelectUserByAgeCommand : QueryEntityCommandBase&amp;lt;IList&amp;lt;User&amp;gt;&amp;gt;
{
    public SelectUserByAgeCommand(int age)
        : base(&amp;quot;SELECT Id, Name, Age FROM Users WHERE Age &amp;gt; @age&amp;quot;)
    {
        Parameters.Add(&amp;quot;age&amp;quot;, age);
    }

    public override IList&amp;lt;User&amp;gt; ProcessDataReader(DbDataReader rdr)
    {
        var users = new List&amp;lt;User&amp;gt;();

        while (rdr.Read())
        {
            var user = new User();

            user.Id = (int)rdr[0];
            user.Name = rdr[1].ToString();
            user.Age = (int)rdr[2];

            users.Add(user);
        }
        return users;
    }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
Databases.Default.Query(new SelectUserByAgeCommand(40));
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
Entitiy classes must contain attributes that provides the table definition&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Entity User&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
[Table(&amp;quot;Users&amp;quot;)]
class SimpleUser
{
    public enum enumGender
    {
        Male, Female
    }

    [PrimaryKey(true)]
    [Column]
    public int Id { get; set; }

    [Column(&amp;quot;Name&amp;quot;, 100)]
    public string Name { get; set; }

    [Column(&amp;quot;DateOfBirth&amp;quot;, true)]
    public DateTime? DateOfBirth { get; set; }

    [Column]
    public int Age { get; set; }

    [Column]
    public enumGender Gender { get; set; }
}
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Selecting entities&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.SelectAll();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
IList&amp;lt;User&amp;gt; users = Repository&amp;lt;User&amp;gt;.Select(&amp;quot;Age &amp;gt; ?&amp;quot;, &amp;quot;Age ASC&amp;quot;, 35);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update, insert, delete&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Update(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Insert(user);
&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;
Repository&amp;lt;User&amp;gt;.Delete(user);
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 20:14:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218081409P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://dk2repository.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Getting Started&lt;/h2&gt;
dk2Database.dll contains the access layer. If you want to make use of the or-mapper also reference to dk2Repository.dll in your project.&lt;br /&gt;&lt;br /&gt;A default connection is created by the static method Databases.RegisterDefault().&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Registering database&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;   public static void Main()
   { 
      Databases.RegisterDefault(new SqLiteDatabase(@&amp;quot;c:\mydb.sqlite&amp;quot;, &amp;quot;&amp;quot;));
   }
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Executing SQL Statements&lt;/h2&gt;
&lt;b&gt;Execute&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;   Databases.Default.Execute(&amp;quot;UPDATE Users SET Salary = ? WHERE  DepartmentId &amp;lt; ?&amp;quot;, 40000, 2);  
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Execute scalar&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;   string date = Databases.Default.ExecuteScalar(&amp;quot;SELECT Date()&amp;quot;).ToString();
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Query datatable&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;   DataTable dt =  Databases.Default.Query(&amp;quot;SELECT * FROM Users&amp;quot;);
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using the Repository&lt;/h2&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 19:46:59 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20111218074659P</guid></item><item><title>Updated Wiki: Home</title><link>http://dk2repository.codeplex.com/wikipage?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Framework Description&lt;/b&gt;&lt;br /&gt;dk2Repository is a  expandable light weight data access layer supporting SqLite, MySql and SQL Server. The primary focus is on combining an or-mapper with the possibility to invoke custom sql queries.&lt;br /&gt;&lt;br /&gt;dk2Repository is written in c# using the .net framework 3.5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dk2repository.codeplex.com/documentation" class="externalLink"&gt;Getting Started&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Currently there is no official release. Please use the latest version from the &lt;a href="http://dk2repository.codeplex.com/SourceControl/list/changesets#" class="externalLink"&gt;trunk&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 19:08:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111218070806P</guid></item><item><title>Updated Wiki: Home</title><link>http://dk2repository.codeplex.com/wikipage?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Framework Description&lt;/b&gt;&lt;br /&gt;dk2Repository is a  expandable light weight data access layer supporting SqLite, MySql and SQL Server. The primary focus is on combining an or-mapper with the possibility to invoke custom sql queries.&lt;br /&gt;&lt;br /&gt;dk2Repository is written in c# using the .net framework 3.5&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Documentation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dk2repository.codeplex.com/documentation" class="externalLink"&gt;Getting Started&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Currently there is no official release. Please use the latest version from the &lt;a href="http://dk2repository.codeplex.com/SourceControl/list/changesets" class="externalLink"&gt;trunk&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sun, 18 Dec 2011 19:07:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111218070718P</guid></item><item><title>Updated Wiki: Home</title><link>http://dk2repository.codeplex.com/wikipage?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;dk2Repository is a simple data access layer supporting SqLite, MySql and SQL Server.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Dani723</author><pubDate>Sat, 03 Dec 2011 11:02:55 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111203110255A</guid></item></channel></rss>