public void DataContext_Should_Execute_And_Commit_Some_SQL_Commands_Without_Transaction() { using (var context = new DataContext(Transaction.No)) { context.Execute("DELETE FROM Airplane"); // After the first Execute, simulates the connection state to "open". connectionMock.Setup(c => c.State).Returns(ConnectionState.Open); context.Execute("DELETE FROM Tools"); } connectionMock.Verify(c => c.CreateCommand(), Times.Exactly(2)); connectionMock.Verify(c => c.Open(), Times.Once()); connectionMock.Verify(c => c.BeginTransaction(), Times.Never()); connectionMock.Verify(c => c.Close(), Times.Once()); commandMock.Verify(c => c.ExecuteNonQuery(), Times.Exactly(2)); commandMock.VerifySet(c => c.CommandText = "DELETE FROM Airplane"); commandMock.VerifySet(c => c.CommandText = "DELETE FROM Tools"); commandMock.VerifySet(c => c.Connection = connectionMock.Object); commandMock.VerifySet(c => c.Transaction = transactionMock.Object, Times.Never()); commandMock.Verify(c => c.CreateParameter(), Times.Never()); transactionMock.Verify(t => t.Commit(), Times.Never()); providerMock.Object.DbTransaction.Should().BeNull(); }
private void CreateTables() { var createManufacturerTable = new StringBuilder("CREATE TABLE Le_Manufacturer (") .Append("[TheId] NUMERIC(8) NOT NULL IDENTITY PRIMARY KEY,") .Append("[Name] VARCHAR(32) NOT NULL,") .Append("[BuildYear] NUMERIC(4) NOT NULL)") .ToString(); var createCarTable = new StringBuilder("CREATE TABLE Car (") .Append("[Id] NUMERIC(8) NOT NULL IDENTITY PRIMARY KEY,") .Append("[Name] VARCHAR(32) NOT NULL,") .Append("[ModelYear] NUMERIC(4) NOT NULL,") .Append("[Date] DATETIME NOT NULL,") .Append("[Chassis] VARCHAR(32) NOT NULL,") .Append("[Mileage] FLOAT,") .Append("[ManufacturerId] NUMERIC(8) REFERENCES Le_Manufacturer(TheId))") .ToString(); using (var data = new DataContext()) { data.Execute(createManufacturerTable); data.Execute(createCarTable); data.Commit(); } }
/// <summary> /// 添加一个问卷的参与人员和结果查询人员(先删除再添加) /// </summary> /// <param name="votePartakeUsers">参与人员</param> /// <param name="voteResultUsers">结果查询人员</param> /// <returns></returns> public int Add(List <Model.VotePartakeUser> votePartakeUsers, List <Model.VoteResultUser> voteResultUsers) { if (votePartakeUsers == null || votePartakeUsers.Count == 0) { return(0); } Guid voteId = votePartakeUsers.First().VoteId; using (var db = new DataContext()) { db.Execute("DELETE FROM RF_VotePartakeUser WHERE VoteId={0}", voteId); if (votePartakeUsers != null && votePartakeUsers.Count > 0) { db.AddRange(votePartakeUsers); } db.Execute("DELETE FROM RF_VoteResultUser WHERE VoteId={0}", voteId); if (voteResultUsers != null && voteResultUsers.Count > 0) { db.AddRange(voteResultUsers); } //更新问卷状态为已发布 db.Execute("UPDATE RF_Vote SET Status=1,PublishTime={0} WHERE Id={1}", DateExtensions.Now, voteId); return(db.SaveChanges()); } }
/// <summary> /// 添加 /// </summary> /// <param name="voteResults"></param> /// <returns></returns> public int AddRange(List <Model.VoteResult> voteResults) { if (voteResults == null || voteResults.Count == 0) { return(0); } Guid voteId = voteResults.First().VoteId; Guid userId = voteResults.First().UserId; using (var db = new DataContext()) { db.Execute("DELETE FROM RF_VoteResult WHERE VoteId={0} AND UserId={1}", voteId, userId); db.AddRange(voteResults); //修改状态为已提交 db.Execute("UPDATE RF_VotePartakeUser SET Status=1,SubmitTime={0} WHERE VoteId={1} AND UserId={2}", DateExtensions.Now, voteId, userId); //修改问卷状态 if (db.GetDataTable("SELECT Id FROM RF_VotePartakeUser WHERE Status=0 And VoteId={0} AND UserId!={1}", voteId, userId).Rows.Count == 0) { db.Execute("UPDATE RF_Vote SET Status=3 WHERE Id={0}", voteId); } else { db.Execute("UPDATE RF_Vote SET Status=2 WHERE Id={0}", voteId); } return(db.SaveChanges()); } }
private void CreateTables() { var createManufacturerTable = new StringBuilder("CREATE TABLE Le_Manufacturer (") .Append("[TheId] NUMERIC(8) NOT NULL IDENTITY PRIMARY KEY,") .Append("[Name] VARCHAR(32) NOT NULL,") .Append("[BuildYear] NUMERIC(4) NOT NULL)") .ToString(); var createCarTable = new StringBuilder("CREATE TABLE Car (") .Append("[Id] NUMERIC(8) NOT NULL IDENTITY PRIMARY KEY,") .Append("[Name] VARCHAR(32),") .Append("[ModelYear] NUMERIC(4) NOT NULL,") .Append("[CreatedAt] DATETIME NOT NULL,") .Append("[Chassis] VARCHAR(32) NOT NULL,") .Append("[Mileage] FLOAT,") .Append("[Category] NUMERIC(1) NOT NULL,") .Append("[ManufacturerId] NUMERIC(8) REFERENCES Le_Manufacturer(TheId))") .ToString(); using (var data = new DataContext()) { data.Execute(createManufacturerTable); data.Execute(createCarTable); data.Commit(); } }
/// <summary> /// 删除一个文档 /// </summary> /// <param name="doc">文档实体</param> /// <returns></returns> public int Delete(Guid id) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_Doc WHERE Id={0}", id); db.Execute("DELETE FROM RF_DocUser WHERE DocId={0}", id); return(db.SaveChanges()); } }
/// <summary> /// 删除一个问卷的所有参与人员和结果查询人员 /// </summary> /// <param name="id"></param> /// <returns></returns> public int DeleteByVoteId(Guid voteId) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_VotePartakeUser WHERE VoteId={0}", voteId); db.Execute("DELETE FROM RF_VoteResultUser WHERE VoteId={0}", voteId); //更新问卷状态为未发布 db.Execute("UPDATE RF_Vote SET Status=0,PublishTime=NULL WHERE Id={0}", voteId); return(db.SaveChanges()); } }
/// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <param name="isDeleteOptions">是否删除选项</param> /// <returns></returns> public int Delete(Guid id, bool isDeleteOptions = true) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_VoteItem WHERE Id={0}", id); if (isDeleteOptions) { db.Execute("DELETE FROM RF_VoteItemOption WHERE VoteId={0}", id); } return(db.SaveChanges()); } }
/// <summary> /// 修改状态 /// </summary> /// <param name="id">收件箱ID</param> /// <param name="status">状态</param> /// <param name="isUpdateDate">是否更新阅读时间</param> /// <returns></returns> public int UpdateIsRead(Guid id, int status, bool isUpdateDate = false) { using (var db = new DataContext()) { if (isUpdateDate) { db.Execute("UPDATE RF_MailInBox SET IsRead={0},ReadDateTime={1} WHERE Id={2}", status, DateExtensions.Now, id); } else { db.Execute("UPDATE RF_MailInBox SET IsRead={0} WHERE Id={1}", status, id); } return(db.SaveChanges()); } }
/// <summary> /// 撤回邮件 /// </summary> /// <param name="id"></param> /// <returns></returns> public bool Withdraw(Guid id) { using (var db = new DataContext()) { Model.MailOutBox mailOutBox = db.Find <Model.MailOutBox>(id); if (null == mailOutBox) { return(false); } db.Execute("DELETE RF_MailInBox WHERE OutBoxId={0}", id); db.Execute("UPDATE RF_MailOutBox SET Status=0 WHERE Id={0}", id); db.SaveChanges(); return(true); } }
/// <summary> /// Re-index database tables /// </summary> public Task ReIndexTablesAsync() { using (new ReaderWriteLockDisposable(_locker)) DataContext.Execute("VACUUM;"); return(Task.CompletedTask); }
public void I_DataContext_Should_Throws_An_Exception_When_Execute_An_Incorrect_Command() { using (var context = new DataContext()) { context.Execute("DELETE FROM Blargh"); } }
public void DataObjectQuery_Should_Select_All_Items_From_Database_With_Parameter_Binding_And_Context_Transaction() { commandMock.Setup(c => c.CommandText).Returns("SELECT [Id], [Name], [FirstFlight] FROM Airplane WHERE Name = @Name"); using (var context = new DataContext()) { // Execute a command to open transaction. context.Execute("DELETE FROM Airplane"); // Simulate connection open state later the first execute. connectionMock.Setup(c => c.State).Returns(ConnectionState.Open); select.With(context).All("WHERE Name = @Name", new { Name = "Omega" }); context.Commit(); } connectionMock.Verify(c => c.CreateCommand(), Times.Exactly(2)); connectionMock.Verify(c => c.Open(), Times.Once()); connectionMock.Verify(c => c.BeginTransaction(), Times.Once()); connectionMock.Verify(c => c.Close(), Times.Once()); commandMock.Verify(c => c.ExecuteReader(), Times.Once()); commandMock.VerifySet(c => c.CommandText = "SELECT [Id], [Name], [FirstFlight] FROM Airplane WHERE Name = @Name"); commandMock.VerifySet(c => c.Connection = connectionMock.Object); commandMock.VerifySet(c => c.Transaction = transactionMock.Object); commandMock.Verify(c => c.CreateParameter(), Times.Once()); parameterMock.VerifySet(p => p.ParameterName = "@Name"); parameterMock.VerifySet(p => p.Value = "Omega"); parameterCollectionMock.Verify(p => p.Add(parameterMock.Object), Times.Once()); transactionMock.Verify(t => t.Commit(), Times.Once()); }
private void DropDatabase() { using (var data = new DataContext("Master", Transaction.No)) { data.Execute("DROP DATABASE ThunderTest"); } }
public Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken) { var authorization = context.Request.Headers.Authorization; if (authorization != null && string.Equals(authorization.Scheme, "Basic", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(authorization.Parameter)) { if (ExtractUserNameAndPassword(authorization.Parameter, out var userName, out var password)) { DataContext.Execute(dataContext => { var user = dataContext.SysUsers.FirstOrDefault(sysUser => sysUser.Username.Equals(userName)); if (user != null && user.Password.Equals(password)) { var identity = new GenericIdentity(userName, "Basic"); context.Principal = new GenericPrincipal(identity, new[] { user.SysUserRole.Name }); } else { context.ErrorResult = new AuthenticationFailureResult("Invalid username or password", context.Request); } }); } else { context.ErrorResult = new AuthenticationFailureResult("Unable to extract authentication details from request", context.Request); } }
private void CreateDatabase() { using (var data = new DataContext("Master", Transaction.No)) { data.Execute("CREATE DATABASE ThunderTest"); } }
/// <summary> /// Method is used to get the owner status /// </summary> /// <param name="OwnerID">Owner Id</param> /// <returns></returns> private string GetOwnerStatus(int OwnerID) { string sql = ""; ADODB.Recordset rsTemp = null; int count = 0; try { sql = "select FEATURE_STATE_C from COMMON_N where g3e_id={0}"; rsTemp = DataContext.Execute(string.Format(sql, OwnerID), out count, (int)ADODB.CommandTypeEnum.adCmdText, null); if (rsTemp != null && rsTemp.RecordCount > 0) { rsTemp.MoveFirst(); return((String)rsTemp.Fields["FEATURE_STATE_C"].Value); } } catch { throw; } finally { rsTemp = null; } return(null); }
public void F_DataContext_Should_Read_Data_With_One_Field_And_Insert_A_Data_With_Some_Parameters_Types() { using (var context = new DataContext()) { var selectParameters = new { Name = "Lotus" }; var manufacturer = context.First <Manufacturer>("SELECT TheId FROM Le_Manufacturer WHERE Name = @Name", selectParameters); var insertParameters = new Car { Name = "Esprit Turbo", ModelYear = 1981, Mileage = 318.19850801, ManufacturerId = manufacturer.TheId, Category = CarCategory.Sport }; context.Execute("INSERT INTO Car VALUES (@Name, @ModelYear, @CreatedAt, @Chassis, @Mileage, @Category, @ManufacturerId)", insertParameters); var car = context.First <Car>("SELECT TOP 1 * FROM Car"); context.Commit(); car.Id.Should().BeGreaterThan(0); car.Name.Should().Be("Esprit Turbo"); car.ModelYear.Should().Be(1981); car.Mileage.Should().Be(318.19850801); car.ManufacturerId.Should().Be(manufacturer.TheId); car.CreatedAt.Date.Should().Be(DateTime.Today.Date); car.Category.Should().Be(CarCategory.Sport); } }
public void DataObjectQuery_Should_Select_All_Items_From_Database_With_Array_Parameter_Binding_And_Context_Transaction() { commandMock.Setup(c => c.CommandText).Returns("SELECT [Id], [Name], [FirstFlight] FROM Airplane WHERE Name = @0"); using (var context = new DataContext()) { // Execute a command to open transaction. context.Execute("DELETE FROM Airplane"); // Simulate connection open state later the first execute. connectionMock.Setup(c => c.State).Returns(ConnectionState.Open); select.With(context).All("WHERE Name = @0", "Omega"); context.Commit(); } connectionMock.Verify(c => c.CreateCommand(), Times.Exactly(2)); connectionMock.Verify(c => c.Open(), Times.Once()); connectionMock.Verify(c => c.BeginTransaction(), Times.Once()); connectionMock.Verify(c => c.Close(), Times.Once()); commandMock.Verify(c => c.ExecuteReader(), Times.Once()); commandMock.VerifySet(c => c.CommandText = "SELECT [Id], [Name], [FirstFlight] FROM Airplane WHERE Name = @0"); commandMock.VerifySet(c => c.Connection = connectionMock.Object); commandMock.VerifySet(c => c.Transaction = transactionMock.Object); commandMock.Verify(c => c.CreateParameter(), Times.Once()); parameterMock.VerifySet(p => p.ParameterName = "@0"); parameterMock.VerifySet(p => p.Value = "Omega"); parameterCollectionMock.Verify(p => p.Add(parameterMock.Object), Times.Once()); transactionMock.Verify(t => t.Commit(), Times.Once()); }
/// <summary> /// 删除一个文件的分享记录 /// </summary> /// <param name="fileId"></param> /// <returns></returns> public int DeleteByFileId(string fileId) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_UserFileShare WHERE FileId={0}", fileId); return(db.SaveChanges()); } }
/// <summary> /// 更新文档 /// </summary> /// <param name="doc">文档实体</param> /// <param name="users">阅读人员</param> public int Update(Model.Doc doc, List <Model.User> users = null) { using (var db = new DataContext()) { db.Update(doc); //更新阅读人员 if (null != users) { db.Execute("DELETE FROM RF_DocUser WHERE DocId={0}", doc.Id); foreach (var user in users) { db.Execute("INSERT INTO RF_DocUser VALUES({0},{1},{2},{3})", doc.Id, user.Id, 0, null); } } return(db.SaveChanges()); } }
/// <summary> /// 删除一个流程的实例 /// </summary> /// <param name="flowId"></param> /// <returns></returns> public int DeleteByFlowId(Guid flowId) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_FlowTask WHERE FlowId={0}", flowId); return(db.SaveChanges()); } }
/// <summary> /// 更新阅读次数 /// </summary> /// <param name="doc"></param> /// <returns></returns> public int UpdateReadCount(Model.Doc doc) { using (var db = new DataContext()) { db.Execute("UPDATE RF_Doc SET ReadCount=ReadCount+1 WHERE Id={0}", doc.Id); return(db.SaveChanges()); } }
/// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <returns></returns> public int Delete(Guid id) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_VoteResult WHERE Id={0}", id); return(db.SaveChanges()); } }
/// <summary> /// 删除 /// </summary> /// <param name="mailOutBox"></param> /// <returns></returns> public int Delete(Guid id) { using (var db = new DataContext()) { db.Execute("DELETE RF_MailOutBox WHERE Id={0}", id); return(db.SaveChanges()); } }
/// <summary> /// 删除动态流程 /// </summary> /// <param name="stepId">动态步骤ID</param> /// <param name="groupId">组ID</param> /// <returns></returns> public int Delete(Guid stepId, Guid groupId) { using (var db = new DataContext()) { db.Execute("DELETE FROM RF_FlowDynamic WHERE StepId={0} AND GroupId={1}", stepId, groupId); return(db.SaveChanges()); } }
/// <summary> /// 更新阅读人员状态 /// </summary> /// <param name="docId">文档ID</param> /// <param name="userId">人员ID</param> /// <param name="isRead">是否阅读</param> public int UpdateIsRead(Guid docId, Guid userId, int isRead) { using (var db = new DataContext()) { db.Execute("UPDATE RF_DocUser SET IsRead={0},ReadTime={1} WHERE DocId={2} AND UserId={3}", isRead, 1 == isRead ? DateExtensions.Now : new DateTime?(), docId, userId); return(db.SaveChanges()); } }
public int ExecuteStoredProcedure(string procedureName, params StoreParameter[] parameters) { var procBuilder = new StoredProcedureBuilder(procedureName, DataContext); procBuilder.AddParameters(parameters); var _sql = procBuilder.Build(); return(DataContext.Execute(_sql.SQL, CommandType.StoredProcedure, _sql.Arguments)); }
/// <summary> /// 删除一个用户的快捷菜单 /// </summary> /// <param name="userShortcuts">快捷菜单实体</param> /// <returns></returns> public int Delete(Guid userId) { ClearCache(); using (var db = new DataContext()) { db.Execute("DELETE FROM RF_UserShortcut WHERE UserId={0}", userId); return(db.SaveChanges()); } }
/// <summary> /// Set table identity (is supported) /// </summary> /// <typeparam name="TEntity">Entity</typeparam> /// <param name="ident">Identity value</param> public void SetTableIdent <TEntity>(int ident) where TEntity : BaseEntity { using (new ReaderWriteLockDisposable(_locker)) { var tableName = DataContext.GetTable <TEntity>().TableName; DataContext.Execute($"update sqlite_sequence set seq = {ident} where name = \"{tableName}\""); } }
/// <summary> /// 更新一个消息为已读 /// </summary> /// <param name="messageUsers"></param> /// <returns></returns> public int UpdateIsRead(Guid messageId, Guid userId) { using (var db = new DataContext()) { db.Execute("UPDATE RF_MessageUser SET IsRead=1,ReadTime={0} WHERE MessageId={1} AND UserId={2}", DateExtensions.Now, messageId, userId); return(db.SaveChanges()); } }
public void H_DataContext_Reader_Should_Translate_DBNull_To_Null_Value() { using (var context = new DataContext()) { context.Execute("UPDATE Car SET Name = NULL WHERE Name = 'Esprit Turbo'"); var car = context.First <Car>("SELECT * FROM Car WHERE Name IS NULL"); car.Name.Should().BeNull(); } }
public void DataContext_Should_Execute_And_Commit_A_SQL_Command_With_Transaction() { using (var context = new DataContext()) { context.Execute("DELETE FROM Airplane"); context.Commit(); } connectionMock.Verify(c => c.CreateCommand(), Times.Once()); connectionMock.Verify(c => c.Open(), Times.Once()); connectionMock.Verify(c => c.BeginTransaction(), Times.Once()); connectionMock.Verify(c => c.Close(), Times.Once()); commandMock.Verify(c => c.ExecuteNonQuery(), Times.Once()); commandMock.VerifySet(c => c.CommandText = "DELETE FROM Airplane"); commandMock.VerifySet(c => c.Connection = connectionMock.Object); commandMock.VerifySet(c => c.Transaction = transactionMock.Object); commandMock.Verify(c => c.CreateParameter(), Times.Never()); transactionMock.Verify(t => t.Commit(), Times.Once()); providerMock.Object.DbTransaction.Should().NotBeNull(); }
public void B_DataContext_Transitional_Should_Execute_A_Insert_SQL_Command_With_Array_Parameters_And_Read_Created_Data_In_Same_And_Count_Data_In_Another_Context() { using (var context = new DataContext()) { context.Execute("INSERT INTO Le_Manufacturer VALUES (@0, @1)", "McLaren", 1963); var manufacturer = context.First<Manufacturer>("SELECT TOP 1 * FROM Le_Manufacturer WHERE Name = @0", "McLaren"); context.Commit(); manufacturer.TheId.Should().BeGreaterThan(0); manufacturer.Name.Should().Be("McLaren"); manufacturer.BuildYear.Should().Be(1963); } using (var context = new DataContext()) { var manufacturerCount = context.GetValue<int>("SELECT COUNT(TheId) FROM Le_Manufacturer"); manufacturerCount.Should().Be(2); } }
public void A_DataContext_Transitional_Should_Execute_A_Insert_SQL_Command_With_Anonymous_Object_Parameters_And_Read_Created_Data_In_Same_And_Count_Data_In_Another_Context() { using (var context = new DataContext()) { var insertParameters = new { Name = "Lotus", Year = 1952 }; context.Execute("INSERT INTO Le_Manufacturer VALUES (@Name, @Year)", insertParameters); var manufacturer = context.First<Manufacturer>("SELECT TOP 1 * FROM Le_Manufacturer"); context.Commit(); manufacturer.TheId.Should().BeGreaterThan(0); manufacturer.Name.Should().Be("Lotus"); manufacturer.BuildYear.Should().Be(1952); } using (var context = new DataContext()) { var manufacturerCount = context.GetValue<int>("SELECT COUNT(TheId) FROM Le_Manufacturer"); manufacturerCount.Should().Be(1); } }
public void L_DataContext_Should_Throws_An_Exeption_When_A_Constraint_Was_Broken() { using (var context = new DataContext()) { var insertParameters = new Car { Name = "AGL 1113", ModelYear = 1964, Mileage = 1567922, ManufacturerId = 98765, // Invalid ManufacturerId Category = CarCategory.Transport }; context.Execute("INSERT INTO Car VALUES (@Name, @ModelYear, @CreatedAt, @Chassis, @Mileage, @Category, @ManufacturerId)", insertParameters); } }
public void DataContext_Should_Execute_Command_With_Anonymous_Object_Parameters() { using (var context = new DataContext()) { var airplane = new { Name = "Fokker Dr.I", FirstFlight = (int?) null }; var command = "INSERT INTO Airplane VALUES (@Name, @FirstFlight)"; context.Execute(command, airplane); } commandMock.Verify(c => c.ExecuteNonQuery(), Times.Once()); commandMock.Verify(c => c.CreateParameter(), Times.Exactly(2)); parameterMock.VerifySet(p => p.ParameterName = "Name"); parameterMock.VerifySet(p => p.ParameterName = "FirstFlight"); parameterMock.VerifySet(p => p.Value = "Fokker Dr.I"); parameterMock.VerifySet(p => p.Value = DBNull.Value); parameterCollectionMock.Verify(p => p.Add(parameterMock.Object), Times.Exactly(2)); }
public void DataContext_Should_Execute_Command_With_Length_One_Array_Parameters() { commandMock.Setup(c => c.CommandText).Returns("INSERT INTO Airplane VALUES (@0)"); using (var context = new DataContext()) { context.Execute("INSERT INTO Airplane VALUES (@0)", "Fokker Dr.I"); } commandMock.Verify(c => c.ExecuteNonQuery(), Times.Once()); commandMock.Verify(c => c.CreateParameter(), Times.Once()); parameterMock.VerifySet(p => p.ParameterName = "0"); parameterMock.VerifySet(p => p.Value = "Fokker Dr.I"); parameterCollectionMock.Verify(p => p.Add(parameterMock.Object), Times.Once()); }
public void D_DataContext_Transitional_Should_Not_Commit_Data_If_Not_Explicit_Commit_Command_Call() { using (var context = new DataContext()) { var insertParameters = new { Name = "Bentley", Year = 1919 }; context.Execute("INSERT INTO Le_Manufacturer VALUES (@Name, @Year)", insertParameters); } using (var context = new DataContext()) { var manufacturers = context.All<Manufacturer>("SELECT * FROM Le_Manufacturer"); manufacturers.Count().Should().Be(3); manufacturers.Should().Contain(m => m.Name == "Lotus"); manufacturers.Should().Contain(m => m.Name == "General Motors"); } }
public void E_DataContext_Transitional_Should_Execute_A_SQL_And_Share_Transaction_With_A_Data_Reader() { using (var context = new DataContext()) { var insertParameters = new { Name = "BMW", Year = 1916 }; context.Execute("INSERT INTO Le_Manufacturer VALUES (@Name, @Year)", insertParameters); var selectParameters = new { Name = "BMW" }; var manufacturer = context.First<Manufacturer>("SELECT * FROM Le_Manufacturer WHERE Name = @Name", selectParameters); manufacturer.Should().NotBeNull(); } using (var context = new DataContext()) { var selectParameters = new { Name = "BMW" }; var manufacturer = context.First<Manufacturer>("SELECT * FROM Le_Manufacturer WHERE Name = @Name", selectParameters); manufacturer.Should().BeNull(); } }
public void F_DataContext_Should_Read_Data_With_One_Field_And_Insert_A_Data_With_Some_Parameters_Types() { using (var context = new DataContext()) { var selectParameters = new { Name = "Lotus" }; var manufacturer = context.First<Manufacturer>("SELECT TheId FROM Le_Manufacturer WHERE Name = @Name", selectParameters); var insertParameters = new Car { Name = "Esprit Turbo", ModelYear = 1981, Mileage = 318.19850801, ManufacturerId = manufacturer.TheId, Category = CarCategory.Sport }; context.Execute("INSERT INTO Car VALUES (@Name, @ModelYear, @CreatedAt, @Chassis, @Mileage, @Category, @ManufacturerId)", insertParameters); var car = context.First<Car>("SELECT TOP 1 * FROM Car"); context.Commit(); car.Id.Should().BeGreaterThan(0); car.Name.Should().Be("Esprit Turbo"); car.ModelYear.Should().Be(1981); car.Mileage.Should().Be(318.19850801); car.ManufacturerId.Should().Be(manufacturer.TheId); car.CreatedAt.Date.Should().Be(DateTime.Today.Date); car.Category.Should().Be(CarCategory.Sport); } }
public void H_DataContext_Reader_Should_Translate_DBNull_To_Null_Value() { using (var context = new DataContext()) { context.Execute("UPDATE Car SET Name = NULL WHERE Name = 'Esprit Turbo'"); var car = context.First<Car>("SELECT * FROM Car WHERE Name IS NULL"); car.Name.Should().BeNull(); } }
public void C_DataContext_Non_Transitional_Should_Execute_A_Insert_SQL_Command_With_Object_Parameters_And_Read_Created_Data_In_Same_And_Count_Data() { using (var context = new DataContext(Transaction.No)) { var insertParameters = new Manufacturer { Name = "General Motors", BuildYear = 1908 }; context.Execute("INSERT INTO Le_Manufacturer VALUES (@Name, @BuildYear)", insertParameters); var manufacturer = context.First<Manufacturer>("SELECT * FROM Le_Manufacturer WHERE BuildYear = 1908"); var manufacturerCount = context.GetValue<int>("SELECT COUNT(TheId) FROM Le_Manufacturer"); manufacturer.TheId.Should().BeGreaterThan(0); manufacturer.Name.Should().Be("General Motors"); manufacturer.BuildYear.Should().Be(1908); manufacturerCount.Should().Be(3); } }