I have an issue where the case in a formula (generated by fluent)
arent being used in the actual calls, any suggestions?
DB CALL ISSUED (Missing CASE statement provided in formula):
select vehicleeve0_.StateId as StateId11_,
vehicleeve0_.latitude as latitude11_,
vehicleeve0_.longitude as longitude11_,
vehicleeve0_.userId as userId11_,
vehicleeve0_.time as time11_,
vehicleeve0_.state as state11_,
vehicleeve0_.statename as statename11_,
vehicleeve0_.transport as transport11_,
vehicleeve0_.TruckPCID as TruckPCID11_
from dbo.DTECH_Status vehicleeve0_
where (vehicleeve0_.TruckPCID in (209 /* @p2 */,367 /* @p3 */))
and (vehicleeve0_.state in ('TERRESTRIAL_LOCATION' /* @p4
*/,'SATELLITE_LOCATION' /* @p5 */,'PING_LOCATION' /* @p6
*/,'MSG_LOCATION' /* @p7 */))
and vehicleeve0_.time >= '2011-01-12T00:00:00.00' /* @p0 */
and vehicleeve0_.time <= '2011-01-30T00:00:00.00' /* @p1 */
HBM (removed mscorlib etc before posting):
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-
access="property" auto-import="true" default-cascade="none" default-
lazy="true">
<class xmlns="urn:nhibernate-mapping-2.2" mutable="false"
name="DriverTech.NH.Entities.VehicleEvent, DriverTech.NH"
table="DTECH_Status">
<id name="EventId" type="System.Int32">
<column name="StateId" />
<generator class="identity" />
</id>
<component name="Coordinates" insert="true" update="true"
optimistic-lock="true" class="DriverTech.NH.Entities.Coordinate,
DriverTech.NH">
<property name="Latitude" type="System.Single">
<column name="latitude" not-null="false" />
</property>
<property name="Longitude" type="System.Single">
<column name="longitude" not-null="false" />
</property>
</component>
<property name="UserId" type="System.Int32">
<column name="userId" not-null="false" />
</property>
<property name="OccurredOn" type="System.DateTime">
<column name="time" />
</property>
<property name="EventType" type="Int32">
<column name="state" />
</property>
<property name="EventDetail" type="System.String">
<column name="statename" />
</property>
<property name="Transport" formula="(case when Transport =
'ORBCOMM' then 'Satellite' when Transport = 'TCP' then 'Cellular' when
Transport = 'WIFI' then 'WiFi' end)"
type="FluentNHibernate.Mapping.GenericEnumMapper`1[[DriverTech.Domain.TransmissionMode,
DriverTech.Domain]], FluentNHibernate">
<column name="transport" />
</property>
<many-to-one class="DriverTech.NH.Entities.MapVehicleDetail,
DriverTech.NH" name="VehicleDetail">
<column name="TruckPCID" />
</many-to-one>
</class>
</hibernate-mapping>
FLUENT MAPPING:
public class VehicleEventMap : ClassMap<VehicleEvent>
{
public VehicleEventMap()
{
Table("DTECH_Status");
ReadOnly();
Id(x => x.EventId)
.Column(VehicleEvent.Columns.Id);
References(x=>x.VehicleDetail)
.Column(VehicleEvent.Columns.TruckPCID);
Map(x => x.UserId)
.Column(VehicleEvent.Columns.UserId)
.Nullable();
Component(x => x.Coordinates, m =>
{
m.Map(x => x.Latitude)
.Column(VehicleEvent.Columns.Latitude)
.Nullable();
m.Map(x => x.Longitude)
.Column(VehicleEvent.Columns.Longitude)
.Nullable();
});
Map(x => x.OccurredOn)
.Column(VehicleEvent.Columns.OccurredOn);
Map(x => x.EventType)
.Column(VehicleEvent.Columns.EventType)
.CustomType(typeof(int));
Map(x => x.EventDetail)
.Column(VehicleEvent.Columns.EventTypeName);
Map(x => x.Transport)
.Column(VehicleEvent.Columns.TransmissionMode)
//.CustomType(typeof(TransmissionMode))
.Formula("(case when Transport = 'ORBCOMM' then
'Satellite' when
Transport = 'TCP' then 'Cellular' when Transport = 'WIFI' then 'WiFi'
end)");
}
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.