public void BulkCopyLinqTypes(string context) { foreach (var bulkCopyType in new[] { BulkCopyType.MultipleRows, BulkCopyType.ProviderSpecific }) { using (var db = new DataConnection(context)) { db.BulkCopy( new BulkCopyOptions { BulkCopyType = bulkCopyType }, Enumerable.Range(0, 10).Select(n => new LinqDataTypes { ID = 4000 + n, MoneyValue = 1000m + n, DateTimeValue = new DateTime(2001, 1, 11, 1, 11, 21, 100), BoolValue = true, GuidValue = Guid.NewGuid(), SmallIntValue = (short)n } )); db.GetTable<LinqDataTypes>().Delete(p => p.ID >= 4000); } } }
public static IEnumerable<SqlTypes> Data(string context) { if (_data == null) using (var db = new DataConnection(context.Replace(".LinqService", ""))) _data = db.GetTable<SqlTypes>().ToList(); foreach (var item in _data) yield return item; }
void BulkCopyTest(string context, BulkCopyType bulkCopyType) { using (var conn = new DataConnection(context)) { conn.BeginTransaction(); conn.BulkCopy(new BulkCopyOptions { MaxBatchSize = 50000, BulkCopyType = bulkCopyType }, Enumerable.Range(0, 100000).Select(n => new AllType { ID = 2000 + n, bigintDataType = 3000 + n, smallintDataType = (short)(4000 + n), tinyintDataType = (sbyte)(5000 + n), mediumintDataType = 6000 + n, intDataType = 7000 + n, numericDataType = 8000 + n, decimalDataType = 9000 + n, doubleDataType = 8800 + n, floatDataType = 7700 + n, dateDataType = DateTime.Now, datetimeDataType = DateTime.Now, timestampDataType = null, timeDataType = null, yearDataType = (1000 + n) % 100, year2DataType = (1000 + n) % 100, year4DataType = null, charDataType = 'A', varcharDataType = "", textDataType = "", binaryDataType = null, varbinaryDataType = null, blobDataType = new byte[] { 1, 2, 3 }, bitDataType = null, enumDataType = "Green", setDataType = "one", intUnsignedDataType = (uint)(5000 + n), })); //var list = conn.GetTable<ALLTYPE>().ToList(); conn.GetTable<DB2Test.ALLTYPE>().Delete(p => p.SMALLINTDATATYPE >= 5000); } }
static void Main(string[] args) { SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory); using (var db = new DataConnection()) { var list = db.GetTable<AllTypes2>().ToList(); } }
public void Test() { //var conn = new System.Data.SQLite.SQLiteConnection(); //var conn = new IBM.Data.Informix.IfxConnection(); using (var db = new DataConnection("SqlServer.2012")) { var count = db.GetTable<Parent>().Count(); } }
// [Fact] public void Test() { if (TestBase.UserProviders.ContainsKey("SqlServer.2012")) { using (var db = new DataConnection("SqlServer.2012")) { var count = db.GetTable<Parent>().Count(); } } }
public void InsertTest2([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db.GetTable<TestTable>() .Insert(() => new TestTable { Name = "Crazy Frog", CreatedOn = Sql.CurrentTimestamp }); } }
public void DeleteBigTableTest([Values( ProviderName.SqlServer, ProviderName.Oracle, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { while (db.GetTable<TestTable>().Take(10000).Delete() > 0); } }
public void DeleteTest([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db .GetTable<TestTable>() .Where(t => t.ID == 1) .Delete(); } }
public void UpdateTest4([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db .GetTable<TestTable>() .Where(t => t.ID == 1) .Set(t => t.Name, t => "Crazy Frog IV") .Set(t => t.CreatedOn, t => t.CreatedOn.Value.AddHours(1)) .Update(); } }
public void UpdateTest3([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db .GetTable<TestTable>() .Update( t => t.ID == 1, t => new TestTable { Name = "Crazy Frog", }); } }
public void UpdateAssociation5(string context) { using (var db = new DataConnection(context)) { var ids = new[] { 10000, 20000 }; db.GetTable<Table2>() .Where (x => ids.Contains(x.ParentID)) .Select(x => x.Table1) .Distinct() .Set(y => y.BoolValue, y => y.Tables2.All(x => x.Value1)) .Update(); var idx = db.LastQuery.IndexOf("INNER JOIN"); Assert.That(idx, Is.Not.EqualTo(-1)); idx = db.LastQuery.IndexOf("INNER JOIN", idx + 1); Assert.That(idx, Is.EqualTo(-1)); } }
public void ExposeSqlStringParameter(string context) { using (var db = new DataConnection(context)) { var p = "abc"; var sql = db.GetTable<Person>().Where(t => t.FirstName == p).ToString(); Console.WriteLine(sql); Assert.That(sql, Contains.Substring("(3)")); } }
public void ExposeSqlBinaryParameter(string context) { using (var db = new DataConnection(context)) { var p = new byte[] { 0, 1, 2 }; var sql = db.GetTable<AllTypes>().Where(t => t.BinaryDataType == p).ToString(); Console.WriteLine(sql); Assert.That(sql, Contains.Substring("(3)").Or.Contains("Blob")); } }
public void TestTransaction2(string context) { using (var db = new DataConnection(context)) { db.GetTable<Parent>().Update(p => p.ParentID == 1, p => new Parent { Value1 = 1 }); using (var tran = db.BeginTransaction()) { db.GetTable<Parent>().Update(p => p.ParentID == 1, p => new Parent { Value1 = null }); Assert.IsNull(db.GetTable<Parent>().First(p => p.ParentID == 1).Value1); tran.Rollback(); Assert.That(1, Is.EqualTo(db.GetTable<Parent>().First(p => p.ParentID == 1).Value1)); } } }
public void BulkCopyProviderSpecificLowerCaseColumns(string context) { using (var db = new DataConnection(context)) { var result = db.BulkCopy( new BulkCopyOptions { BulkCopyType = BulkCopyType.ProviderSpecific }, Enumerable.Range(0, 10).Select(n => new BulkInsertLowerCaseColumns { ID = 4000 + n, MoneyValue = 1000m + n, DateTimeValue = new DateTime(2001, 1, 11, 1, 11, 21, 100), BoolValue = true, GuidValue = Guid.NewGuid(), SmallIntValue = (short)n } )); Assert.That(result.RowsCopied, Is.EqualTo(10)); var count = db.GetTable<BulkInsertLowerCaseColumns>().Delete(p => p.ID >= 4000); Assert.That(count, Is.EqualTo(10)); } }
void BulkCopyTest(string context, BulkCopyType bulkCopyType) { using (var conn = new DataConnection(context)) { conn.BeginTransaction(); conn.BulkCopy(new BulkCopyOptions { MaxBatchSize = 50, BulkCopyType = bulkCopyType }, Enumerable.Range(0, 100).Select(n => new AllType { ID = 2000 + n, bigintDataType = 3000 + n, smallintDataType = (short)(4000 + n), decimalDataType = 900000 + n, smalldecimalDataType = 90000 + n, intDataType = 7000 + n, tinyintDataType = (byte)(5000 + n), floatDataType = 7700 + n, realDataType = 7600 + n, dateDataType = DateTime.Now, timeDataType = DateTime.Now - DateTime.Today, seconddateDataType = DateTime.Now, timestampDataType = DateTime.Now, charDataType = 'A', varcharDataType = "AA", textDataType = "text", shorttextDataType = "shorttext", ncharDataType = '\u00fc', nvarcharDataType = "A\u00fcfsdf\u00fc", alphanumDataType = "abcQWE654", binaryDataType = new byte[] { 1 }, varbinaryDataType = new byte[] { 1, 2, 3 }, blobDataType = new byte[] { 1, 2, 3, 4, 5, 6 }, clobDataType = "clobclobclob", nclobDataType = "nclob\u00fcnclob\u00fcnclob\u00fc" })); conn.GetTable<AllType>().Delete(p => p.ID >= 2000); } }
protected override void OpenSession() { DataConnection.DefaultConfiguration = "PerformanceTest"; _db = new DataConnection("PerformanceTest"); _table = _db.GetTable<Simplests>(); }
public void Dispose() { Logger.Trace("Disposing lock " + _resource); if (!_lockDeleted) { _lockDeleted = true; using (var db = new DataConnection(DatabaseActor.DataProvider, _connection)) { int nDeleted = db.GetTable<DistributedLock>().Where(dl => dl.Id == _lockId).Delete(); if (nDeleted != 1) throw new MySqlDistributedLockException("Lock " + _lockId + " on resource " + _resource + " disappeared"); } } _connection.Dispose(); }
public void InsertTest4([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db .GetTable<TestTable>() .Where(t => t.Name == "Crazy Frog") .Into(db.GetTable<TestTable2>()) .Value(t => t.Name, t => t.Name + " II") .Value(t => t.CreatedOn, t => t.CreatedOn.Value.AddDays(1)) .Insert(); } }
public void InsertOrUpdateTest([Values( ProviderName.SqlServer, ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.MySql, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ProviderName.Sybase)] string configString) { using (var db = new DataConnection(configString)) { db.GetTable<TestTable3>() .InsertOrUpdate( () => new TestTable3 { ID = 5, Name = "Crazy Frog", }, t => new TestTable3 { Name = "Crazy Frog IV", }); } }
public void UpdateAssociation5([DataContexts( ProviderName.Access, ProviderName.DB2, ProviderName.Firebird, ProviderName.Informix, ProviderName.Oracle, ProviderName.PostgreSQL, ProviderName.SqlCe, ProviderName.SQLite, ExcludeLinqService=true)] string context) { using (var db = new DataConnection(context)) { var ids = new[] { 10000, 20000 }; db.GetTable<Table2>() .Where (x => ids.Contains(x.ParentID)) .Select(x => x.Table1) .Distinct() .Set(y => y.BoolValue, y => y.Tables2.All(x => x.Value1)) .Update(); var idx = db.LastQuery.IndexOf("INNER JOIN"); Assert.That(idx, Is.Not.EqualTo(-1)); idx = db.LastQuery.IndexOf("INNER JOIN", idx + 1); Assert.That(idx, Is.EqualTo(-1)); } }
public void ExposeSqlDecimalParameter(string context) { using (var db = new DataConnection(context)) { var p = 123.456m; var sql = db.GetTable<AllTypes>().Where(t => t.DecimalDataType == p).ToString(); Console.WriteLine(sql); Assert.That(sql, Contains.Substring("(6,3)")); } }