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.
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();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With