public string GetSql() { var rawSqlQuery = OrmConfiguration.GetSqlBuilder <TestModel>().Format( $@"SELECT {nameof(Id):C},{nameof(Name):C} FROM {nameof(TestModel):T}"); return(rawSqlQuery); }
private void PrepareEnvironment <TEntity>(SqlDialect dialect) { OrmConfiguration.DefaultDialect = dialect; // in real library usage, people will use the ISqlBuilder, but for our tests we're gonna need more than that _currentSqlBuilder = OrmConfiguration.GetSqlBuilder <TEntity>() as IStatementSqlBuilder; _currentDialect = dialect; _selectColumnNames = _currentSqlBuilder.SelectProperties.Select(propInfo => propInfo.DatabaseColumnName).ToArray(); }
public void ThenIShouldGetAValidJoinQueryStatementForWorkstation() { var buildingSqlBuilder = OrmConfiguration.GetSqlBuilder <Building>(); var expectedQuery = $@" SELECT {_currentSqlBuilder.GetTableName()}.{_currentSqlBuilder.GetColumnName(nameof(Workstation.WorkstationId))}, {buildingSqlBuilder.GetTableName()}.{buildingSqlBuilder.GetColumnName(nameof(Building.BuildingId))} FROM {_currentSqlBuilder.GetTableName()}, {buildingSqlBuilder.GetTableName()} WHERE {_currentSqlBuilder.GetTableName()}.{_currentSqlBuilder.GetColumnName(nameof(Workstation.BuildingId))} = {buildingSqlBuilder.GetTableName()}.{buildingSqlBuilder.GetColumnName(nameof(Building.BuildingId))}"; Assert.AreEqual(expectedQuery, _buildingRawJoinQueryStatement); }
public void WhenIQueryForAMaximumOfWorkstationEntitiesInReverseOrderOfWorkstationIdSkippingRecords(int?max, int?skip) { var sqlBuilder = OrmConfiguration.GetSqlBuilder <Workstation>(); _testContext.QueriedEntities.AddRange( _testContext.DatabaseConnection.Find <Workstation>( statementOptions => statementOptions.Where($"{nameof(Workstation.WorkstationId):C} IS NOT NULL") .OrderBy($"{nameof(Workstation.InventoryIndex):C} DESC") .Skip(skip) .Top(max))); }
public virtual Task <TEntity> GetKeyAsync(TPk key, IUnitOfWork uow) { if (_container.IsIEntity <TEntity, TPk>()) { var sql = OrmConfiguration.GetSqlBuilder <TEntity>(); return(uow.Connection.QuerySingleOrDefaultAsync <TEntity>( $@"SELECT {sql.ConstructColumnEnumerationForSelect()} FROM {sql.GetTableName()} WHERE {sql.GetColumnName("Id")} = @Id", new { Id = key }, uow.Transaction)); } var entity = CreateEntityAndSetKeyValue(key); return(uow.GetAsync(entity)); }
public virtual TEntity GetKey(TPk key, ISession session) { if (_container.IsIEntity <TEntity, TPk>()) { var sql = OrmConfiguration.GetSqlBuilder <TEntity>(); return(session.QuerySingleOrDefault <TEntity>( $@"SELECT {sql.ConstructColumnEnumerationForSelect()} FROM {sql.GetTableName()} WHERE {sql.GetColumnName("Id")} = @Id", new { Id = key })); } var entity = CreateEntityAndSetKeyValue(key); return(session.Get(entity)); }