hello,
when running the following code i get an
"llblgen Booleans are not supported in Oracle databases"
this code is for a query form where the user may enter values
-
i saw the PredicateBuilder class. however i don't have one entity of type T.
my select statement is form a number of tables.
-
also i want to build a new object as u can see bellow.
does the PredicateBuilder provide this functionality. if so can you please post a small example.
the code:
LinqMetaData metaData = new LinqMetaData(new DataAccessAdapter());
var ds = from acctTransactionTable in metaData.AcctAccountTransactions
join inputTransactionTable in metaData.HfkdInputTransactStorage
on acctTransactionTable.CurrentTransactionId equals inputTransactionTable.TransactionId
join actionType in metaData.VwHfkdActionType
on acctTransactionTable.ActionTypeId equals actionType.Value
where acctTransactionTable.OwnerId == request.AccountID
&& acctTransactionTable.OwnerTypeId == AccountType
&& acctTransactionTable.ProcessingMonth >= (request.ProcessingMonthFrom != null ? request.ProcessingMonthFrom : acctTransactionTable.ProcessingMonth)
&& acctTransactionTable.ProcessingMonth <= (request.ProcessingMonthUntil != null ? request.ProcessingMonthUntil : acctTransactionTable.ProcessingMonth)
&& acctTransactionTable.ValueDate >= (request.ValueDateFrom != null ? request.ValueDateFrom : acctTransactionTable.ValueDate)
&& acctTransactionTable.ValueDate <= (request.ValueDateUntil != null ? request.ValueDateUntil : acctTransactionTable.ValueDate)
&& acctTransactionTable.ActionDate >= (request.ActionDateFrom != null ? request.ActionDateFrom : acctTransactionTable.ActionDate)
&& acctTransactionTable.ActionDate <= (request.ActionDateUntil != null ? request.ActionDateUntil : acctTransactionTable.ActionDate)
&& acctTransactionTable.ActionTypeId == (request.MainActionTypeID != null ? request.MainActionTypeID : acctTransactionTable.ActionTypeId)
&& inputTransactionTable.TransactionStatusId == (request.Status != null ? request.Status : inputTransactionTable.TransactionStatusId)
&& acctTransactionTable.TrackId == (request.TrackID != null ? request.TrackID : acctTransactionTable.TrackId)
&& acctTransactionTable.TaxLevelId == (request.TaxLevelID != null ? request.TaxLevelID : acctTransactionTable.TaxLevelId)
select new AccountTransactionDataRecord
{
ACCUMULATING_PART_ID = acctTransactionTable.ComponentTypeId,
ACTION_DATE = acctTransactionTable.ActionDate,
COMPONENT_ID = acctTransactionTable.ComponentId,
DETAILED_ACTION_TYPE = acctTransactionTable.ActionTypeId,
MAIN_ACTION_TYPE = actionType.Value,
PROCESSINGMONTH = acctTransactionTable.ProcessingMonth,
SALARY = inputTransactionTable.SalarySum,
SALARY_MONTH = inputTransactionTable.SalaryMonth,
STATUS = inputTransactionTable.TransactionStatusId,
SUM = acctTransactionTable.Sum,
TAX_LEVAL_ID = acctTransactionTable.TaxLevelId,
TRACK_ID = acctTransactionTable.TrackId,
VALUE_DATE = acctTransactionTable.ValueDate
};
return ds.ToList();