Skip to content

Instantly share code, notes, and snippets.

@twofingerrightclick
Last active October 28, 2022 20:58
Show Gist options
  • Save twofingerrightclick/a7c82a927bd1ccb4359b02c35d9c9e53 to your computer and use it in GitHub Desktop.
Save twofingerrightclick/a7c82a927bd1ccb4359b02c35d9c9e53 to your computer and use it in GitHub Desktop.
Whats the differnce between these 2 EntityFramework v6 queries?
namespace Foo {
public class Blah {
public IEnumerable<CustomerServiceReportItem> LoadCustomerServicesReportData(int year, int month)
{
DateTimeOffset startDate = new DateTimeOffset(year, month, 1, 0, 0, 0, TimeSpan.Zero);
DateTimeOffset cutoffDate = new DateTimeOffset(1900, 1, 1, 0, 0, 0, TimeSpan.Zero);
var isPudUser = (_CurrentUser == null || _CurrentUser.IsPudUser);
int usersServiceProviderId = isPudUser ? 0 : _CurrentUser.ServiceProviderId;
IQueryable<RawCustomerServicesBillingData> superRawReportData = SuperRawCustomerServicesBillingDatas(isPudUser, usersServiceProviderId, startDate);
var rawReportData = RawCustomerServicesBillingDatas(superRawReportData, startDate, cutoffDate);
}
// part 1
private IQueryable<RawCustomerServicesBillingData> SuperRawCustomerServicesBillingDatas(bool isPudUser,
int usersServiceProviderId,
DateTimeOffset startDate)
{
return
from sp in _DbContext.ServiceProviders
join cso in _DbContext.CustomerServiceOrders on sp.ServiceProviderId equals cso.ServiceProviderId
join cs in _DbContext.CustomerServices on cso.CustomerServiceOrderId equals cs.CustomerServiceOrderId
join c in _DbContext.Customers on cso.CustomerId equals c.CustomerId
join rssr in _DbContext.RateSheetServiceRates on cs.RateSheetServiceRateId equals
rssr.RateSheetServiceRateId
join rss in _DbContext.RateSheetServices on rssr.RateSheetServiceId equals rss.RateSheetServiceId
join st in _DbContext.SystemTypes on rss.SystemTypeId equals st.SystemTypeId
where
(
(isPudUser || sp.ServiceProviderId == usersServiceProviderId) &&
!sp.IsPud &&
!cs.RateSheetServiceRate.RateSheetService.IsDailyService &&
cs.Status != CustomerServiceStatus.Onetime &&
cs.RateSheetServiceRate.RateSheetService.Level != ServiceLevel.InternetBandwidth
)
select new RawCustomerServicesBillingData
{
ServiceProviderId = sp.ServiceProviderId,
ServiceProviderName = sp.CompanyName,
CustomerServiceOrderId = cso.CustomerServiceOrderId,
Address = c.AddressLine1,
CompanyName = c.CompanyName,
FirstName = c.ContactFirstName,
LastName = c.ContactLastName,
ServiceLevel = rss.Level,
HasContract = rss.HasContract,
ContractMonths = rssr.ContractMonths,
ServiceName = rss.Name,
BillingCode = rssr.BillingCode,
RecurringCost = rssr.RecurringCost,
NonRecurringCost = rssr.NonrecurringCost,
Vlan = cs.Vlan,
InterfaceName = cs.InterfaceName,
RecurringQuantity = (rssr.RecurringCost == 0 ? 0 : cs.Quantity),
ServiceLatitude = cs.ServiceLatitude,
ServiceLongitude = cs.ServiceLongitude,
CustomerServiceId = cs.CustomerServiceId,
AidToConstruction = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.FinalAidToConstruction) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.FinalAidToConstruction) as WorkflowFieldDouble :
null,
FinalBuildCost = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.FinalBuildCost) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.FinalBuildCost) as WorkflowFieldDouble :
null,
HighLevelEstimateFeeWaived = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.HighLevelEstimateFeeWaived) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.HighLevelEstimateFeeWaived) as WorkflowFieldBoolean :
null,
NonRecurringQuantity =
(!cs.WaiveNonrecurringCost && rssr.NonrecurringCost != 0 && cs.ContractStart.HasValue &&
cs.ContractStart.Value == startDate)
? cs.Quantity
: 0,
ExcludeFromIvueReport = rss.ExcludeFromIvueReport
};
}
// part 2
private IList<RawCustomerServicesBillingData> RawCustomerServicesBillingDatas(IQueryable<RawCustomerServicesBillingData> reportData,
DateTimeOffset startDate,
DateTimeOffset cutoffDate)
{
var rawReportData =
from billingDataItem in reportData
join cso in _DbContext.CustomerServiceOrders on billingDataItem.ServiceProviderId equals cso.ServiceProviderId
join cs in _DbContext.CustomerServices on cso.CustomerServiceOrderId equals cs.CustomerServiceOrderId
join rssr in _DbContext.RateSheetServiceRates on cs.RateSheetServiceRateId equals
rssr.RateSheetServiceRateId
where
(
(cs.ContractStart.HasValue && cs.ContractStart.Value > cutoffDate &&
cs.ContractStart.Value <= startDate) &&
((rssr.RecurringCost != 0 || cs.ContractStart == startDate) &&
(
cs.Status == CustomerServiceStatus.Active ||
cs.Status == CustomerServiceStatus.Suspended ||
(
cs.Status == CustomerServiceStatus.Canceled &&
cs.DateTerminated >= startDate // cancelDate
)
))
)
select billingDataItem;
return rawReportData.ToList();
}
}
}
// original
namespace Foo {
public class Blah {
private IList<RawCustomerServicesBillingData> RawCustomerServicesBillingDatasBefore(bool isPudUser,
int usersServiceProviderId,
List<string> techSupportNames,
DateTimeOffset cutoffDate,
DateTimeOffset startDate)
{
var rawReportData =
from sp in _DbContext.ServiceProviders
join cso in _DbContext.CustomerServiceOrders on sp.ServiceProviderId equals cso.ServiceProviderId
join cs in _DbContext.CustomerServices on cso.CustomerServiceOrderId equals cs.CustomerServiceOrderId
join c in _DbContext.Customers on cso.CustomerId equals c.CustomerId
join rssr in _DbContext.RateSheetServiceRates on cs.RateSheetServiceRateId equals
rssr.RateSheetServiceRateId
join rss in _DbContext.RateSheetServices on rssr.RateSheetServiceId equals rss.RateSheetServiceId
join st in _DbContext.SystemTypes on rss.SystemTypeId equals st.SystemTypeId
where
(
(isPudUser || sp.ServiceProviderId == usersServiceProviderId) &&
!sp.IsPud &&
!cs.RateSheetServiceRate.RateSheetService.IsDailyService &&
cs.Status != CustomerServiceStatus.Onetime &&
cs.RateSheetServiceRate.RateSheetService.Level != ServiceLevel.InternetBandwidth &&
// break the query into second part here
(cs.ContractStart.HasValue && cs.ContractStart.Value > cutoffDate &&
cs.ContractStart.Value <= startDate) &&
// For recurring costs, only include if contract start is last month - this is the first month we are billing them
((rssr.RecurringCost != 0 || cs.ContractStart == startDate) &&
(
cs.Status == CustomerServiceStatus.Active ||
cs.Status == CustomerServiceStatus.Suspended ||
(
cs.Status == CustomerServiceStatus.Canceled &&
cs.DateTerminated >= startDate // cancelDate
)
))
)
select new RawCustomerServicesBillingData
{
ServiceProviderId = sp.ServiceProviderId,
ServiceProviderName = sp.CompanyName,
CustomerServiceOrderId = cso.CustomerServiceOrderId,
Address = c.AddressLine1,
CompanyName = c.CompanyName,
FirstName = c.ContactFirstName,
LastName = c.ContactLastName,
ServiceLevel = rss.Level,
HasContract = rss.HasContract,
ContractMonths = rssr.ContractMonths,
ServiceName = rss.Name,
BillingCode = rssr.BillingCode,
RecurringCost = rssr.RecurringCost,
NonRecurringCost = rssr.NonrecurringCost,
Vlan = cs.Vlan,
InterfaceName = cs.InterfaceName,
RecurringQuantity = (rssr.RecurringCost == 0 ? 0 : cs.Quantity),
ServiceLatitude = cs.ServiceLatitude,
ServiceLongitude = cs.ServiceLongitude,
CustomerServiceId = cs.CustomerServiceId,
AidToConstruction = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.FinalAidToConstruction) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.FinalAidToConstruction) as WorkflowFieldDouble :
null,
FinalBuildCost = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.FinalBuildCost) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.FinalBuildCost) as WorkflowFieldDouble :
null,
HighLevelEstimateFeeWaived = cs.Workflow == null ? null :
cs.Workflow.Fields.Any(x => x.FieldKey == WorkflowFieldKey.HighLevelEstimateFeeWaived) ?
cs.Workflow.Fields.FirstOrDefault(x => x.FieldKey == WorkflowFieldKey.HighLevelEstimateFeeWaived) as WorkflowFieldBoolean :
null,
NonRecurringQuantity =
(!cs.WaiveNonrecurringCost && rssr.NonrecurringCost != 0 && cs.ContractStart.HasValue &&
cs.ContractStart.Value == startDate)
? cs.Quantity
: 0,
ExcludeFromIvueReport = rss.ExcludeFromIvueReport
};
IList<RawCustomerServicesBillingData> rawBillingData = rawReportData.ToList();
return rawBillingData;
}
}
}
SELECT
[Project6].[ServiceProviderId] AS [ServiceProviderId],
[Project6].[CompanyName] AS [CompanyName],
[Project6].[CustomerServiceOrderId] AS [CustomerServiceOrderId],
[Project6].[AddressLine1] AS [AddressLine1],
[Project6].[CompanyName1] AS [CompanyName1],
[Project6].[ContactFirstName] AS [ContactFirstName],
[Project6].[ContactLastName] AS [ContactLastName],
[Project6].[Level] AS [Level],
[Project6].[HasContract] AS [HasContract],
[Project6].[ContractMonths] AS [ContractMonths],
[Project6].[Name] AS [Name],
[Project6].[BillingCode] AS [BillingCode],
[Project6].[RecurringCost] AS [RecurringCost],
[Project6].[NonrecurringCost] AS [NonrecurringCost],
[Project6].[Vlan] AS [Vlan],
[Project6].[InterfaceName] AS [InterfaceName],
CASE WHEN (cast(0 as float(53)) = [Project6].[RecurringCost]) THEN 0 ELSE [Project6].[Quantity] END AS [C1],
[Project6].[ServiceLatitude] AS [ServiceLatitude],
[Project6].[ServiceLongitude] AS [ServiceLongitude],
[Project6].[CustomerServiceId] AS [CustomerServiceId],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent14]
INNER JOIN [dbo].[WorkflowFields] AS [Extent15] ON ([Extent15].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent14].[WorkflowId] = [Extent15].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent14].[WorkflowId]) AND (52 = [Extent15].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C1] END END AS [C2],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent16]
INNER JOIN [dbo].[WorkflowFields] AS [Extent17] ON ([Extent17].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent16].[WorkflowId] = [Extent17].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent16].[WorkflowId]) AND (52 = [Extent17].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[WorkflowId2] END END AS [C3],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent18]
INNER JOIN [dbo].[WorkflowFields] AS [Extent19] ON ([Extent19].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent18].[WorkflowId] = [Extent19].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent18].[WorkflowId]) AND (52 = [Extent19].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[FieldKey] END END AS [C4],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent20]
INNER JOIN [dbo].[WorkflowFields] AS [Extent21] ON ([Extent21].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent20].[WorkflowId] = [Extent21].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent20].[WorkflowId]) AND (52 = [Extent21].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[Timestamp] END END AS [C5],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS float) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent22]
INNER JOIN [dbo].[WorkflowFields] AS [Extent23] ON ([Extent23].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent22].[WorkflowId] = [Extent23].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent22].[WorkflowId]) AND (52 = [Extent23].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C2] END END AS [C6],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS bit) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent24]
INNER JOIN [dbo].[WorkflowFields] AS [Extent25] ON ([Extent25].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent24].[WorkflowId] = [Extent25].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent24].[WorkflowId]) AND (52 = [Extent25].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C3] END END AS [C7],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS datetime2) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent26]
INNER JOIN [dbo].[WorkflowFields] AS [Extent27] ON ([Extent27].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent26].[WorkflowId] = [Extent27].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent26].[WorkflowId]) AND (52 = [Extent27].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C4] END END AS [C8],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent28]
INNER JOIN [dbo].[WorkflowFields] AS [Extent29] ON ([Extent29].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent28].[WorkflowId] = [Extent29].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent28].[WorkflowId]) AND (52 = [Extent29].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C5] END END AS [C9],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent30]
INNER JOIN [dbo].[WorkflowFields] AS [Extent31] ON ([Extent31].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent30].[WorkflowId] = [Extent31].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent30].[WorkflowId]) AND (52 = [Extent31].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C6] END END AS [C10],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent32]
INNER JOIN [dbo].[WorkflowFields] AS [Extent33] ON ([Extent33].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent32].[WorkflowId] = [Extent33].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent32].[WorkflowId]) AND (52 = [Extent33].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C7] END END AS [C11],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent34]
INNER JOIN [dbo].[WorkflowFields] AS [Extent35] ON ([Extent35].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent34].[WorkflowId] = [Extent35].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent34].[WorkflowId]) AND (52 = [Extent35].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C8] END END AS [C12],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent36]
INNER JOIN [dbo].[WorkflowFields] AS [Extent37] ON ([Extent37].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent36].[WorkflowId] = [Extent37].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent36].[WorkflowId]) AND (52 = [Extent37].[FieldKey])
)) THEN CASE WHEN ([Project6].[C1] LIKE '16X0X%') THEN [Project6].[C9] END END AS [C13],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent38]
INNER JOIN [dbo].[WorkflowFields] AS [Extent39] ON ([Extent39].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent38].[WorkflowId] = [Extent39].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent38].[WorkflowId]) AND (62 = [Extent39].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C10] END END AS [C14],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent40]
INNER JOIN [dbo].[WorkflowFields] AS [Extent41] ON ([Extent41].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent40].[WorkflowId] = [Extent41].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent40].[WorkflowId]) AND (62 = [Extent41].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[WorkflowId3] END END AS [C15],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent42]
INNER JOIN [dbo].[WorkflowFields] AS [Extent43] ON ([Extent43].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent42].[WorkflowId] = [Extent43].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent42].[WorkflowId]) AND (62 = [Extent43].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[FieldKey1] END END AS [C16],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent44]
INNER JOIN [dbo].[WorkflowFields] AS [Extent45] ON ([Extent45].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent44].[WorkflowId] = [Extent45].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent44].[WorkflowId]) AND (62 = [Extent45].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[Timestamp1] END END AS [C17],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS float) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent46]
INNER JOIN [dbo].[WorkflowFields] AS [Extent47] ON ([Extent47].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent46].[WorkflowId] = [Extent47].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent46].[WorkflowId]) AND (62 = [Extent47].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C11] END END AS [C18],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS bit) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent48]
INNER JOIN [dbo].[WorkflowFields] AS [Extent49] ON ([Extent49].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent48].[WorkflowId] = [Extent49].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent48].[WorkflowId]) AND (62 = [Extent49].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C12] END END AS [C19],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS datetime2) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent50]
INNER JOIN [dbo].[WorkflowFields] AS [Extent51] ON ([Extent51].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent50].[WorkflowId] = [Extent51].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent50].[WorkflowId]) AND (62 = [Extent51].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C13] END END AS [C20],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent52]
INNER JOIN [dbo].[WorkflowFields] AS [Extent53] ON ([Extent53].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent52].[WorkflowId] = [Extent53].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent52].[WorkflowId]) AND (62 = [Extent53].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C14] END END AS [C21],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent54]
INNER JOIN [dbo].[WorkflowFields] AS [Extent55] ON ([Extent55].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent54].[WorkflowId] = [Extent55].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent54].[WorkflowId]) AND (62 = [Extent55].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C15] END END AS [C22],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent56]
INNER JOIN [dbo].[WorkflowFields] AS [Extent57] ON ([Extent57].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent56].[WorkflowId] = [Extent57].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent56].[WorkflowId]) AND (62 = [Extent57].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C16] END END AS [C23],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent58]
INNER JOIN [dbo].[WorkflowFields] AS [Extent59] ON ([Extent59].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent58].[WorkflowId] = [Extent59].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent58].[WorkflowId]) AND (62 = [Extent59].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C17] END END AS [C24],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent60]
INNER JOIN [dbo].[WorkflowFields] AS [Extent61] ON ([Extent61].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent60].[WorkflowId] = [Extent61].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent60].[WorkflowId]) AND (62 = [Extent61].[FieldKey])
)) THEN CASE WHEN ([Project6].[C10] LIKE '16X0X%') THEN [Project6].[C18] END END AS [C25],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent62]
INNER JOIN [dbo].[WorkflowFields] AS [Extent63] ON ([Extent63].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent62].[WorkflowId] = [Extent63].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent62].[WorkflowId]) AND (64 = [Extent63].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C19] END END AS [C26],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent64]
INNER JOIN [dbo].[WorkflowFields] AS [Extent65] ON ([Extent65].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent64].[WorkflowId] = [Extent65].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent64].[WorkflowId]) AND (64 = [Extent65].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[WorkflowId4] END END AS [C27],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent66]
INNER JOIN [dbo].[WorkflowFields] AS [Extent67] ON ([Extent67].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent66].[WorkflowId] = [Extent67].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent66].[WorkflowId]) AND (64 = [Extent67].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[FieldKey2] END END AS [C28],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent68]
INNER JOIN [dbo].[WorkflowFields] AS [Extent69] ON ([Extent69].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent68].[WorkflowId] = [Extent69].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent68].[WorkflowId]) AND (64 = [Extent69].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[Timestamp2] END END AS [C29],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS float) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent70]
INNER JOIN [dbo].[WorkflowFields] AS [Extent71] ON ([Extent71].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent70].[WorkflowId] = [Extent71].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent70].[WorkflowId]) AND (64 = [Extent71].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C20] END END AS [C30],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS bit) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent72]
INNER JOIN [dbo].[WorkflowFields] AS [Extent73] ON ([Extent73].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent72].[WorkflowId] = [Extent73].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent72].[WorkflowId]) AND (64 = [Extent73].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C21] END END AS [C31],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS datetime2) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent74]
INNER JOIN [dbo].[WorkflowFields] AS [Extent75] ON ([Extent75].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent74].[WorkflowId] = [Extent75].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent74].[WorkflowId]) AND (64 = [Extent75].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C22] END END AS [C32],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent76]
INNER JOIN [dbo].[WorkflowFields] AS [Extent77] ON ([Extent77].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent76].[WorkflowId] = [Extent77].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent76].[WorkflowId]) AND (64 = [Extent77].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C23] END END AS [C33],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent78]
INNER JOIN [dbo].[WorkflowFields] AS [Extent79] ON ([Extent79].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent78].[WorkflowId] = [Extent79].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent78].[WorkflowId]) AND (64 = [Extent79].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C24] END END AS [C34],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varbinary(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent80]
INNER JOIN [dbo].[WorkflowFields] AS [Extent81] ON ([Extent81].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent80].[WorkflowId] = [Extent81].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent80].[WorkflowId]) AND (64 = [Extent81].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C25] END END AS [C35],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS int) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent82]
INNER JOIN [dbo].[WorkflowFields] AS [Extent83] ON ([Extent83].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent82].[WorkflowId] = [Extent83].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent82].[WorkflowId]) AND (64 = [Extent83].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C26] END END AS [C36],
CASE WHEN ([Project6].[WorkflowId1] IS NULL) THEN CAST(NULL AS varchar(1)) WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[Workflows] AS [Extent84]
INNER JOIN [dbo].[WorkflowFields] AS [Extent85] ON ([Extent85].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent84].[WorkflowId] = [Extent85].[WorkflowId])
WHERE ([Project6].[WorkflowId] = [Extent84].[WorkflowId]) AND (64 = [Extent85].[FieldKey])
)) THEN CASE WHEN ([Project6].[C19] LIKE '16X1X%') THEN [Project6].[C27] END END AS [C37],
CASE WHEN (([Project6].[WaiveNonrecurringCost] <> 1) AND (cast(0 as float(53)) <> [Project6].[NonrecurringCost]) AND ([Project6].[ContractStart] IS NOT NULL) AND ([Project6].[ContractStart] = @p__linq__6)) THEN [Project6].[Quantity] ELSE 0 END AS [C38],
[Project6].[ExcludeFromIvueReport] AS [ExcludeFromIvueReport]
FROM ( SELECT
[Project4].[ServiceProviderId] AS [ServiceProviderId],
[Project4].[CompanyName] AS [CompanyName],
[Project4].[CustomerServiceOrderId] AS [CustomerServiceOrderId],
[Project4].[CustomerServiceId] AS [CustomerServiceId],
[Project4].[InterfaceName] AS [InterfaceName],
[Project4].[Vlan] AS [Vlan],
[Project4].[WaiveNonrecurringCost] AS [WaiveNonrecurringCost],
[Project4].[Quantity] AS [Quantity],
[Project4].[ContractStart] AS [ContractStart],
[Project4].[ServiceLatitude] AS [ServiceLatitude],
[Project4].[ServiceLongitude] AS [ServiceLongitude],
[Project4].[WorkflowId] AS [WorkflowId],
[Project4].[CompanyName1] AS [CompanyName1],
[Project4].[ContactFirstName] AS [ContactFirstName],
[Project4].[ContactLastName] AS [ContactLastName],
[Project4].[AddressLine1] AS [AddressLine1],
[Project4].[ContractMonths] AS [ContractMonths],
[Project4].[NonrecurringCost] AS [NonrecurringCost],
[Project4].[RecurringCost] AS [RecurringCost],
[Project4].[BillingCode] AS [BillingCode],
[Project4].[Name] AS [Name],
[Project4].[Level] AS [Level],
[Project4].[HasContract] AS [HasContract],
[Project4].[ExcludeFromIvueReport] AS [ExcludeFromIvueReport],
[Project4].[WorkflowId1] AS [WorkflowId1],
[Project4].[WorkflowId2] AS [WorkflowId2],
[Project4].[FieldKey] AS [FieldKey],
[Project4].[Timestamp] AS [Timestamp],
[Project4].[C1] AS [C1],
[Project4].[C2] AS [C2],
[Project4].[C3] AS [C3],
[Project4].[C4] AS [C4],
[Project4].[C5] AS [C5],
[Project4].[C6] AS [C6],
[Project4].[C7] AS [C7],
[Project4].[C8] AS [C8],
[Project4].[C9] AS [C9],
[Project4].[WorkflowId3] AS [WorkflowId3],
[Project4].[FieldKey1] AS [FieldKey1],
[Project4].[Timestamp1] AS [Timestamp1],
[Project4].[C10] AS [C10],
[Project4].[C11] AS [C11],
[Project4].[C12] AS [C12],
[Project4].[C13] AS [C13],
[Project4].[C14] AS [C14],
[Project4].[C15] AS [C15],
[Project4].[C16] AS [C16],
[Project4].[C17] AS [C17],
[Project4].[C18] AS [C18],
[Limit3].[WorkflowId] AS [WorkflowId4],
[Limit3].[FieldKey] AS [FieldKey2],
[Limit3].[Timestamp] AS [Timestamp2],
[Limit3].[C1] AS [C19],
[Limit3].[C2] AS [C20],
[Limit3].[C3] AS [C21],
[Limit3].[C4] AS [C22],
[Limit3].[C5] AS [C23],
[Limit3].[C6] AS [C24],
[Limit3].[C7] AS [C25],
[Limit3].[C8] AS [C26],
[Limit3].[C9] AS [C27]
FROM (SELECT
[Project2].[ServiceProviderId] AS [ServiceProviderId],
[Project2].[CompanyName] AS [CompanyName],
[Project2].[CustomerServiceOrderId] AS [CustomerServiceOrderId],
[Project2].[CustomerServiceId] AS [CustomerServiceId],
[Project2].[InterfaceName] AS [InterfaceName],
[Project2].[Vlan] AS [Vlan],
[Project2].[WaiveNonrecurringCost] AS [WaiveNonrecurringCost],
[Project2].[Quantity] AS [Quantity],
[Project2].[ContractStart] AS [ContractStart],
[Project2].[ServiceLatitude] AS [ServiceLatitude],
[Project2].[ServiceLongitude] AS [ServiceLongitude],
[Project2].[WorkflowId] AS [WorkflowId],
[Project2].[CompanyName1] AS [CompanyName1],
[Project2].[ContactFirstName] AS [ContactFirstName],
[Project2].[ContactLastName] AS [ContactLastName],
[Project2].[AddressLine1] AS [AddressLine1],
[Project2].[ContractMonths] AS [ContractMonths],
[Project2].[NonrecurringCost] AS [NonrecurringCost],
[Project2].[RecurringCost] AS [RecurringCost],
[Project2].[BillingCode] AS [BillingCode],
[Project2].[Name] AS [Name],
[Project2].[Level] AS [Level],
[Project2].[HasContract] AS [HasContract],
[Project2].[ExcludeFromIvueReport] AS [ExcludeFromIvueReport],
[Project2].[WorkflowId1] AS [WorkflowId1],
[Project2].[WorkflowId2] AS [WorkflowId2],
[Project2].[FieldKey] AS [FieldKey],
[Project2].[Timestamp] AS [Timestamp],
[Project2].[C1] AS [C1],
[Project2].[C2] AS [C2],
[Project2].[C3] AS [C3],
[Project2].[C4] AS [C4],
[Project2].[C5] AS [C5],
[Project2].[C6] AS [C6],
[Project2].[C7] AS [C7],
[Project2].[C8] AS [C8],
[Project2].[C9] AS [C9],
[Limit2].[WorkflowId] AS [WorkflowId3],
[Limit2].[FieldKey] AS [FieldKey1],
[Limit2].[Timestamp] AS [Timestamp1],
[Limit2].[C1] AS [C10],
[Limit2].[C2] AS [C11],
[Limit2].[C3] AS [C12],
[Limit2].[C4] AS [C13],
[Limit2].[C5] AS [C14],
[Limit2].[C6] AS [C15],
[Limit2].[C7] AS [C16],
[Limit2].[C8] AS [C17],
[Limit2].[C9] AS [C18]
FROM (SELECT
[Filter2].[ServiceProviderId1] AS [ServiceProviderId],
[Filter2].[CompanyName1] AS [CompanyName],
[Filter2].[CustomerServiceOrderId1] AS [CustomerServiceOrderId],
[Filter2].[CustomerServiceId] AS [CustomerServiceId],
[Filter2].[InterfaceName] AS [InterfaceName],
[Filter2].[Vlan] AS [Vlan],
[Filter2].[WaiveNonrecurringCost] AS [WaiveNonrecurringCost],
[Filter2].[Quantity] AS [Quantity],
[Filter2].[ContractStart] AS [ContractStart],
[Filter2].[ServiceLatitude] AS [ServiceLatitude],
[Filter2].[ServiceLongitude] AS [ServiceLongitude],
[Filter2].[WorkflowId1] AS [WorkflowId],
[Filter2].[CompanyName2] AS [CompanyName1],
[Filter2].[ContactFirstName] AS [ContactFirstName],
[Filter2].[ContactLastName] AS [ContactLastName],
[Filter2].[AddressLine11] AS [AddressLine1],
[Filter2].[ContractMonths] AS [ContractMonths],
[Filter2].[NonrecurringCost] AS [NonrecurringCost],
[Filter2].[RecurringCost] AS [RecurringCost],
[Filter2].[BillingCode] AS [BillingCode],
[Filter2].[Name] AS [Name],
[Filter2].[Level] AS [Level],
[Filter2].[HasContract] AS [HasContract],
[Filter2].[ExcludeFromIvueReport] AS [ExcludeFromIvueReport],
[Filter2].[WorkflowId2] AS [WorkflowId1],
[Limit1].[WorkflowId] AS [WorkflowId2],
[Limit1].[FieldKey] AS [FieldKey],
[Limit1].[Timestamp] AS [Timestamp],
[Limit1].[C1] AS [C1],
[Limit1].[C2] AS [C2],
[Limit1].[C3] AS [C3],
[Limit1].[C4] AS [C4],
[Limit1].[C5] AS [C5],
[Limit1].[C6] AS [C6],
[Limit1].[C7] AS [C7],
[Limit1].[C8] AS [C8],
[Limit1].[C9] AS [C9]
FROM (SELECT [Filter1].[ServiceProviderId1], [Filter1].[CompanyName1], [Filter1].[CustomerServiceOrderId1], [Filter1].[CustomerServiceId], [Filter1].[Status], [Filter1].[InterfaceName], [Filter1].[Vlan], [Filter1].[WaiveNonrecurringCost], [Filter1].[Quantity], [Filter1].[ContractStart], [Filter1].[DateTerminated], [Filter1].[ServiceLatitude], [Filter1].[ServiceLongitude], [Filter1].[WorkflowId1], [Filter1].[CompanyName2], [Filter1].[ContactFirstName], [Filter1].[ContactLastName], [Filter1].[AddressLine11], [Filter1].[ContractMonths], [Filter1].[NonrecurringCost], [Filter1].[RecurringCost], [Filter1].[BillingCode], [Filter1].[Name], [Filter1].[Level], [Filter1].[HasContract], [Filter1].[ExcludeFromIvueReport], [Extent7].[WorkflowId] AS [WorkflowId2]
FROM (SELECT [Extent1].[ServiceProviderId] AS [ServiceProviderId1], [Extent1].[CompanyName] AS [CompanyName1], [Extent2].[CustomerServiceOrderId] AS [CustomerServiceOrderId1], [Extent3].[CustomerServiceId] AS [CustomerServiceId], [Extent3].[Status] AS [Status], [Extent3].[InterfaceName] AS [InterfaceName], [Extent3].[Vlan] AS [Vlan], [Extent3].[WaiveNonrecurringCost] AS [WaiveNonrecurringCost], [Extent3].[Quantity] AS [Quantity], [Extent3].[ContractStart] AS [ContractStart], [Extent3].[DateTerminated] AS [DateTerminated], [Extent3].[ServiceLatitude] AS [ServiceLatitude], [Extent3].[ServiceLongitude] AS [ServiceLongitude], [Extent3].[WorkflowId] AS [WorkflowId1], [Extent4].[CompanyName] AS [CompanyName2], [Extent4].[ContactFirstName] AS [ContactFirstName], [Extent4].[ContactLastName] AS [ContactLastName], [Extent4].[AddressLine1] AS [AddressLine11], [Extent5].[ContractMonths] AS [ContractMonths], [Extent5].[NonrecurringCost] AS [NonrecurringCost], [Extent5].[RecurringCost] AS [RecurringCost], [Extent5].[BillingCode] AS [BillingCode], [Extent6].[Name] AS [Name], [Extent6].[Level] AS [Level], [Extent6].[HasContract] AS [HasContract], [Extent6].[ExcludeFromIvueReport] AS [ExcludeFromIvueReport]
FROM [dbo].[ServiceProviders] AS [Extent1]
INNER JOIN [dbo].[CustomerServiceOrders] AS [Extent2] ON [Extent1].[ServiceProviderId] = [Extent2].[ServiceProviderId]
INNER JOIN [dbo].[CustomerServices] AS [Extent3] ON [Extent2].[CustomerServiceOrderId] = [Extent3].[CustomerServiceOrderId]
INNER JOIN [dbo].[Customers] AS [Extent4] ON [Extent2].[CustomerId] = [Extent4].[CustomerId]
INNER JOIN [dbo].[RateSheetServiceRates] AS [Extent5] ON [Extent3].[RateSheetServiceRateId] = [Extent5].[RateSheetServiceRateId]
INNER JOIN [dbo].[RateSheetServices] AS [Extent6] ON [Extent5].[RateSheetServiceId] = [Extent6].[RateSheetServiceId]
WHERE ([Extent1].[IsPud] <> 1) AND (6 <> [Extent3].[Status]) AND ([Extent3].[ContractStart] IS NOT NULL) AND ([Extent6].[IsDailyService] <> 1) AND (5 <> [Extent6].[Level]) ) AS [Filter1]
LEFT OUTER JOIN [dbo].[Workflows] AS [Extent7] ON [Filter1].[WorkflowId1] = [Extent7].[WorkflowId]
WHERE (@p__linq__0 = 1 OR [Filter1].[ServiceProviderId1] = @p__linq__1) AND ([Filter1].[ContractStart] > @p__linq__2) AND ([Filter1].[ContractStart] <= @p__linq__3) AND ((cast(0 as float(53)) <> [Filter1].[RecurringCost]) OR ([Filter1].[ContractStart] = @p__linq__4)) AND ((3 = [Filter1].[Status]) OR (4 = [Filter1].[Status]) OR ((5 = [Filter1].[Status]) AND ([Filter1].[DateTerminated] >= @p__linq__5))) ) AS [Filter2]
OUTER APPLY (SELECT TOP (1)
[Extent9].[WorkflowId] AS [WorkflowId],
[Extent9].[FieldKey] AS [FieldKey],
[Extent9].[Timestamp] AS [Timestamp],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN '16X1X' WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN '16X2X' WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN '16X0X' WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN '16X3X' WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN '16X4X' ELSE '16X5X' END AS [C1],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS float) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS float) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN [Extent9].[DoubleValue] WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS float) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS float) END AS [C2],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN [Extent9].[BooleanValue] WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS bit) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS bit) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS bit) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS bit) END AS [C3],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS datetime2) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN [Extent9].[DateTimeValue] WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS datetime2) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS datetime2) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS datetime2) END AS [C4],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN [Extent9].[Value_FileName] END WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C5],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN [Extent9].[Value_ContentType] END WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C6],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN [Extent9].[Value_FileContents] END WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varbinary(1)) END AS [C7],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS int) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS int) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS int) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS int) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN [Extent9].[IntValue] END AS [C8],
CASE WHEN ([Extent9].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS varchar(1)) WHEN ([Extent9].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) ELSE [Extent9].[StringValue] END AS [C9]
FROM [dbo].[Workflows] AS [Extent8]
INNER JOIN [dbo].[WorkflowFields] AS [Extent9] ON ([Extent9].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent8].[WorkflowId] = [Extent9].[WorkflowId])
WHERE ([Filter2].[WorkflowId1] = [Extent8].[WorkflowId]) AND (52 = [Extent9].[FieldKey]) ) AS [Limit1] ) AS [Project2]
OUTER APPLY (SELECT TOP (1)
[Extent11].[WorkflowId] AS [WorkflowId],
[Extent11].[FieldKey] AS [FieldKey],
[Extent11].[Timestamp] AS [Timestamp],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN '16X1X' WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN '16X2X' WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN '16X0X' WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN '16X3X' WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN '16X4X' ELSE '16X5X' END AS [C1],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS float) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS float) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN [Extent11].[DoubleValue] WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS float) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS float) END AS [C2],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN [Extent11].[BooleanValue] WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS bit) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS bit) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS bit) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS bit) END AS [C3],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS datetime2) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN [Extent11].[DateTimeValue] WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS datetime2) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS datetime2) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS datetime2) END AS [C4],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN [Extent11].[Value_FileName] END WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C5],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN [Extent11].[Value_ContentType] END WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C6],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN [Extent11].[Value_FileContents] END WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varbinary(1)) END AS [C7],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS int) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS int) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS int) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS int) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN [Extent11].[IntValue] END AS [C8],
CASE WHEN ([Extent11].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS varchar(1)) WHEN ([Extent11].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) ELSE [Extent11].[StringValue] END AS [C9]
FROM [dbo].[Workflows] AS [Extent10]
INNER JOIN [dbo].[WorkflowFields] AS [Extent11] ON ([Extent11].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent10].[WorkflowId] = [Extent11].[WorkflowId])
WHERE ([Project2].[WorkflowId] = [Extent10].[WorkflowId]) AND (62 = [Extent11].[FieldKey]) ) AS [Limit2] ) AS [Project4]
OUTER APPLY (SELECT TOP (1)
[Extent13].[WorkflowId] AS [WorkflowId],
[Extent13].[FieldKey] AS [FieldKey],
[Extent13].[Timestamp] AS [Timestamp],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN '16X1X' WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN '16X2X' WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN '16X0X' WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN '16X3X' WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN '16X4X' ELSE '16X5X' END AS [C1],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS float) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS float) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN [Extent13].[DoubleValue] WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS float) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS float) END AS [C2],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN [Extent13].[BooleanValue] WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS bit) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS bit) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS bit) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS bit) END AS [C3],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS datetime2) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN [Extent13].[DateTimeValue] WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS datetime2) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS datetime2) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS datetime2) END AS [C4],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN [Extent13].[Value_FileName] END WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C5],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN [Extent13].[Value_ContentType] END WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) END AS [C6],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varbinary(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN [Extent13].[Value_FileContents] END WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varbinary(1)) END AS [C7],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS int) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS int) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS int) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS int) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN [Extent13].[IntValue] END AS [C8],
CASE WHEN ([Extent13].[Discriminator] = N'WorkflowFieldBoolean') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDateTime') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldDouble') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldFile') THEN CAST(NULL AS varchar(1)) WHEN ([Extent13].[Discriminator] = N'WorkflowFieldInt') THEN CAST(NULL AS varchar(1)) ELSE [Extent13].[StringValue] END AS [C9]
FROM [dbo].[Workflows] AS [Extent12]
INNER JOIN [dbo].[WorkflowFields] AS [Extent13] ON ([Extent13].[Discriminator] IN (N'WorkflowFieldBoolean',N'WorkflowFieldDateTime',N'WorkflowFieldDouble',N'WorkflowFieldFile',N'WorkflowFieldInt',N'WorkflowFieldString')) AND ([Extent12].[WorkflowId] = [Extent13].[WorkflowId])
WHERE ([Project4].[WorkflowId] = [Extent12].[WorkflowId]) AND (64 = [Extent13].[FieldKey]) ) AS [Limit3]
) AS [Project6]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment