Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SELECT @@DBTS using Linq to SQL

How can I use Linq to SQL to retrieve @@DBTS using C#?

Here is what I am trying:

IEnumerable<System.Data.Linq.Binary> results = db.ExecuteQuery<System.Data.Linq.Binary>(@"SELECT @@DBTS");

However, this results in "The type 'System.Data.Linq.Binary' must declare a default (parameterless) constructor in order to be constructed during mapping."

If I try to use byte[], I get the same error but with byte[] instead of System.Data.Linq.Binary.

like image 836
Tim Norman Avatar asked Apr 20 '26 03:04

Tim Norman


1 Answers

I suspect you might have to use regular ADO.NET and ExecuteReader/ExecuteScalar...

using(SqlConnection conn = new SqlConnection(CONN_STRING))
using(SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = "SELECT @@DBTS";
    cmd.CommandType = CommandType.Text;
    conn.Open();
    byte[] ts = (byte[]) cmd.ExecuteScalar();
    foreach (byte b in ts)
    {
        Console.Write(b.ToString("X2"));
    }
    Console.WriteLine();
}
like image 83
Marc Gravell Avatar answered Apr 21 '26 16:04

Marc Gravell