using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Data.SqlClient;
using System.Diagnostics;
public static void Main()
string connString = "Server=tcp:dcq7rctfid.database.windows.net,1433;Database=ircbot;User ID=id;Password=pass;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;";
var sw = new Stopwatch();
using (var db = new ircbotDataContext(connString))
Console.WriteLine("L2S: " + sw.ElapsedTicks);
using (var conn = new SqlConnection(connString))
var query = conn.Query("SELECT * FROM [users] WHERE ID > 10 ORDER BY ID DESC").Take(50);
Console.WriteLine("Dapper: {0}", sw.ElapsedTicks);
public class ircbotDataContext : DataContext
public ircbotDataContext(string cs): base (cs)
public ircbotDataContext(SqlConnection con): base (con)
public Table<User> Users;
[Column(Name = "ID", IsPrimaryKey = true)]
[Column(Name = "Nick", CanBeNull = false)]
[Column(Name = "Ident", CanBeNull = false)]
[Column(Name = "Mode", CanBeNull = true)]
[Column(Name = "LastHeard", CanBeNull = false)]
public DateTime LastHeard
[Column(Name = "Channel", CanBeNull = false)]
[Column(Name = "Points", CanBeNull = true)]
[Column(Name = "FirstSeen", CanBeNull = false)]
public DateTime FirstSeen
[Column(Name = "Location", CanBeNull = true)]
[Column(Name = "Debt", CanBeNull = true)]
[Column(Name = "LastState", CanBeNull = true)]
[Column(Name = "LastMessage", CanBeNull = true)]
public string LastMessage
[Column(Name = "Greeting", CanBeNull = true)]
[Column(Name = "Grounded", CanBeNull = true)]
[Column(Name = "IsBotAdmin", CanBeNull = true)]
[Column(Name = "UserProfile", CanBeNull = true)]
[Column(Name = "LinkingKey", CanBeNull = true)]