System specifics:
LLBLGen Pro v3.1 Final (May 25th, 2011)
Runtime is 3.1.11.427
Using Adapter model with .NET 4.0
Database is Oracle 11g
Using the MS Oracle driver
Source Table definition is:
CREATE TABLE TAP
(
TAP_ID NUMBER(10) NOT NULL,
DEVICE_ID VARCHAR2(10 BYTE) NOT NULL,
TRANSACTION_ID NUMBER(6) NOT NULL,
TRANSACTION_DTM DATE NOT NULL,
TOKEN_ID NUMBER(9) NOT NULL,
SERVICE_TYPE_ID NUMBER(3) NOT NULL,
LOCATION_ID CHAR(20 BYTE) NOT NULL,
ENTRY_EXIT_ID NUMBER(3) NOT NULL,
TRIP_ENTRY_EXIT_ID NUMBER(3),
TAP_TYPE_ID NUMBER(3) NOT NULL,
TRIP_ID NUMBER(9),
TAP_STATUS_ID NUMBER(3) NOT NULL,
UNMATCHED_FLAG NUMBER(1) NOT NULL,
INSERTED_DTM DATE DEFAULT SYSDATE NOT NULL
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE UNIQUE INDEX AK1_TAP ON TAP
(DEVICE_ID, TRANSACTION_ID, TRANSACTION_DTM)
LOGGING
TABLESPACE USERS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
View definition is:
CREATE OR REPLACE FORCE VIEW UNMATCHED_TAP (TOKEN_ID)
AS
SELECT DISTINCT TA.TOKEN_ID
FROM TAP TA
WHERE UNMATCHED_FLAG = 0;
Source Code in question:
int count = (int)adapter.GetDbCount(new UnmatchedTapEntityFactory().CreateFields(), null);
Generated SQL is:
SELECT COUNT(*) AS NumberOfRows FROM (SELECT UNMATCHED_TAP.TOKEN_ID AS TokenId FROM UNMATCHED_TAP )
The problem:
The view above is mapped to an entity definition in the LLBLGen designer. Our problem is that the statement in question returns a count of zero when it should return a count of four. We have confirmed that running the generated SQL statement from SqlPlus or Toad returns the correct value of four. So we assume the problem lies with LLBLGen or the MS Oracle driver. Can you confirm this?