Search found 1 match

by barrie mcguire
Thu 15 Oct 2009 08:58
Forum: Entity Framework support
Topic: ORA-01790
Replies: 40
Views: 18457

Hi,

We are currently experiencing the same problem with multiple includes with one-to-many assoiciations.

This is the query we're executing...

Code: Select all

var query = from p in context.PropulsionSet
    .Include("Aspiration.DescriptionResource")
    .Include("BaseEngine")
    .Include("BaseMotor")
    .Include("FuelDelivery.DescriptionResource")
    .Include("Fuel.DescriptionResource")
    select p;
And the SQL generated looks like this..

Code: Select all

SELECT 
"UnionAll4".C2 AS C1, 
"UnionAll4".C3 AS C2, 
"UnionAll4".C4 AS C3, 
"UnionAll4".C1 AS C4, 
"UnionAll4".C5 AS C5, 
"UnionAll4".C6 AS C6, 
"UnionAll4".C7 AS C7, 
"UnionAll4".C8 AS C8, 
"UnionAll4".C9 AS C9, 
"UnionAll4".C10 AS C10, 
"UnionAll4".C11 AS C11, 
"UnionAll4".C12 AS C12, 
"UnionAll4".C13 AS C13, 
"UnionAll4".C14 AS C14, 
"UnionAll4".C15 AS C15, 
"UnionAll4".C16 AS C16, 
"UnionAll4".C17 AS C17, 
"UnionAll4".C18 AS C18, 
"UnionAll4".C19 AS C19, 
"UnionAll4".C20 AS C20, 
"UnionAll4".C21 AS C21, 
"UnionAll4".C22 AS C22, 
"UnionAll4".C23 AS C23, 
"UnionAll4".C24 AS C24, 
"UnionAll4".C25 AS C25, 
"UnionAll4".C26 AS C26, 
"UnionAll4".C27 AS C27, 
"UnionAll4".C28 AS C28, 
"UnionAll4".C29 AS C29, 
"UnionAll4".C30 AS C30, 
"UnionAll4".C31 AS C31, 
"UnionAll4".C32 AS C32
FROM  (SELECT 
	"UnionAll3".C1 AS C1, 
	"UnionAll3".C2 AS C2, 
	"UnionAll3".C3 AS C3, 
	"UnionAll3".C4 AS C4, 
	"UnionAll3".C5 AS C5, 
	"UnionAll3".C6 AS C6, 
	"UnionAll3".C7 AS C7, 
	"UnionAll3".C8 AS C8, 
	"UnionAll3".C9 AS C9, 
	"UnionAll3".C10 AS C10, 
	"UnionAll3".C11 AS C11, 
	"UnionAll3".C12 AS C12, 
	"UnionAll3".C13 AS C13, 
	"UnionAll3".C14 AS C14, 
	"UnionAll3".C15 AS C15, 
	"UnionAll3".C16 AS C16, 
	"UnionAll3".C17 AS C17, 
	"UnionAll3".C18 AS C18, 
	"UnionAll3".C19 AS C19, 
	"UnionAll3".C20 AS C20, 
	"UnionAll3".C21 AS C21, 
	"UnionAll3".C22 AS C22, 
	"UnionAll3".C23 AS C23, 
	"UnionAll3".C24 AS C24, 
	"UnionAll3".C25 AS C25, 
	"UnionAll3".C26 AS C26, 
	"UnionAll3".C27 AS C27, 
	"UnionAll3".C28 AS C28, 
	"UnionAll3".C29 AS C29, 
	"UnionAll3".C30 AS C30, 
	"UnionAll3".C31 AS C31, 
	"UnionAll3".C32 AS C32
	FROM  (SELECT 
		"UnionAll2".C1 AS C1, 
		"UnionAll2".C2 AS C2, 
		"UnionAll2".C3 AS C3, 
		"UnionAll2".C4 AS C4, 
		"UnionAll2".C5 AS C5, 
		"UnionAll2".C6 AS C6, 
		"UnionAll2".C7 AS C7, 
		"UnionAll2".C8 AS C8, 
		"UnionAll2".C9 AS C9, 
		"UnionAll2".C10 AS C10, 
		"UnionAll2".C11 AS C11, 
		"UnionAll2".C12 AS C12, 
		"UnionAll2".C13 AS C13, 
		"UnionAll2".C14 AS C14, 
		"UnionAll2".C15 AS C15, 
		"UnionAll2".C16 AS C16, 
		"UnionAll2".C17 AS C17, 
		"UnionAll2".C18 AS C18, 
		"UnionAll2".C19 AS C19, 
		"UnionAll2".C20 AS C20, 
		"UnionAll2".C21 AS C21, 
		"UnionAll2".C22 AS C22, 
		"UnionAll2".C23 AS C23, 
		"UnionAll2".C24 AS C24, 
		"UnionAll2".C25 AS C25, 
		"UnionAll2".C26 AS C26, 
		"UnionAll2".C27 AS C27, 
		"UnionAll2".C28 AS C28, 
		"UnionAll2".C29 AS C29, 
		"UnionAll2".C30 AS C30, 
		"UnionAll2".C31 AS C31, 
		"UnionAll2".C32 AS C32
		FROM  (SELECT 
			"UnionAll1".C1 AS C1, 
			"UnionAll1".PROPULSION_ID AS C2, 
			"UnionAll1".COMMENTS_NATIVE AS C3, 
			"UnionAll1".C2 AS C4, 
			"UnionAll1".C3 AS C5, 
			"UnionAll1".ASPIRATION_ID AS C6, 
			"UnionAll1".DESCRIPTION_RESOURCE_ID AS C7, 
			"UnionAll1".DEFINITION_NATIVE AS C8, 
			"UnionAll1".COMMENTS_NATIVE1 AS C9, 
			"UnionAll1".C4 AS C10, 
			"UnionAll1".C5 AS C11, 
			"UnionAll1".C6 AS C12, 
			"UnionAll1".C7 AS C13, 
			"UnionAll1".C8 AS C14, 
			"UnionAll1".C9 AS C15, 
			"UnionAll1".C10 AS C16, 
			"UnionAll1".C11 AS C17, 
			"UnionAll1".C12 AS C18,             --> fails here with ORA-01790
			"UnionAll1".C13 AS C19, 
			"UnionAll1".C14 AS C20, 
			"UnionAll1".C15 AS C21, 
			"UnionAll1".C16 AS C22, 
			"UnionAll1".C17 AS C23, 
			"UnionAll1".C18 AS C24, 
			"UnionAll1".C19 AS C25, 
			"UnionAll1".C20 AS C26, 
			"UnionAll1".C21 AS C27, 
			"UnionAll1".C22 AS C28, 
			"UnionAll1".C23 AS C29, 
			"UnionAll1".C24 AS C30, 
			"UnionAll1".C25 AS C31, 
			"UnionAll1".C26 AS C32
			FROM  (SELECT 
				"Project1".C1 AS C1, 
				"Extent1".PROPULSION_ID AS PROPULSION_ID, 
				"Extent1".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
				1 AS C2, 
				"Project1".C1 AS C3, 
				"Project1".ASPIRATION_ID AS ASPIRATION_ID, 
				"Project1".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID, 
				"Project1".DEFINITION_NATIVE AS DEFINITION_NATIVE, 
				"Project1".COMMENTS_NATIVE AS COMMENTS_NATIVE1, 
				NULL AS C4, 
				NULL AS C5, 
				NULL AS C6, 
				NULL AS C7, 
				NULL AS C8, 
				NULL AS C9, 
				NULL AS C10, 
				NULL AS C11, 
				NULL AS C12, 
				NULL AS C13, 
				NULL AS C14, 
				NULL AS C15, 
				NULL AS C16, 
				NULL AS C17, 
				NULL AS C18, 
				NULL AS C19, 
				NULL AS C20, 
				NULL AS C21, 
				NULL AS C22, 
				NULL AS C23, 
				NULL AS C24, 
				NULL AS C25, 
				NULL AS C26
				FROM  TVI.PROPULSION "Extent1"
				LEFT OUTER JOIN  (SELECT 
					"Extent2".PROPULSION_ID AS PROPULSION_ID, 
					"Extent3".ASPIRATION_ID AS ASPIRATION_ID, 
					"Extent4".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID, 
					"Extent4".DEFINITION_NATIVE AS DEFINITION_NATIVE, 
					"Extent4".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
					1 AS C1
					FROM   TVI.PROPULSION_ASPIRATION "Extent2"
					INNER JOIN TVI.ASPIRATION "Extent3" ON "Extent3".ASPIRATION_ID = "Extent2".ASPIRATION_ID
					LEFT OUTER JOIN WORLD.DESCRIPTION_RESOURCE "Extent4" ON "Extent3".DESCRIPTION_RESOURCE_ID = "Extent4".DESCRIPTION_RESOURCE_ID ) "Project1" ON "Extent1".PROPULSION_ID = "Project1".PROPULSION_ID
			UNION ALL
				SELECT 
				2 AS C1, 
				"Extent5".PROPULSION_ID AS PROPULSION_ID, 
				"Extent5".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
				1 AS C2, 
				NULL AS C3, 
				NULL AS C4, 
				NULL AS C5, 
				NULL AS C6, 
				NULL AS C7, 
				1 AS C8, 
				"Join4".BASE_ENGINE_ID1 AS BASE_ENGINE_ID, 
				"Join4".FAMILY_CODE AS FAMILY_CODE, 
				"Join4".CUBIC_CAPACITY AS CUBIC_CAPACITY, 
				"Join4".BORE_MM AS BORE_MM, 
				"Join4".STROKE_MM AS STROKE_MM, 
				"Join4".ENGINE_CONFIGURATION_ID AS ENGINE_CONFIGURATION_ID, 
				"Join4".MANUFACTURER_BRAND_ID AS MANUFACTURER_BRAND_ID, 
				NULL AS C9, 
				NULL AS C10, 
				NULL AS C11, 
				NULL AS C12, 
				NULL AS C13, 
				NULL AS C14, 
				NULL AS C15, 
				NULL AS C16, 
				NULL AS C17, 
				NULL AS C18, 
				NULL AS C19, 
				NULL AS C20, 
				NULL AS C21, 
				NULL AS C22, 
				NULL AS C23
				FROM  TVI.PROPULSION "Extent5"
				INNER JOIN  (SELECT "Extent6".PROPULSION_ID AS PROPULSION_ID, "Extent6".BASE_ENGINE_ID AS BASE_ENGINE_ID2, "Extent7".BASE_ENGINE_ID AS BASE_ENGINE_ID1, "Extent7".ENGINE_CONFIGURATION_ID AS ENGINE_CONFIGURATION_ID, "Extent7".MANUFACTURER_BRAND_ID AS MANUFACTURER_BRAND_ID, "Extent7".FAMILY_CODE AS FAMILY_CODE, "Extent7".CUBIC_CAPACITY AS CUBIC_CAPACITY, "Extent7".BORE_MM AS BORE_MM, "Extent7".STROKE_MM AS STROKE_MM
					FROM  TVI.PROPULSION_BASE_ENGINE "Extent6"
					INNER JOIN TVI.BASE_ENGINE "Extent7" ON "Extent7".BASE_ENGINE_ID = "Extent6".BASE_ENGINE_ID ) "Join4" ON "Extent5".PROPULSION_ID = "Join4".PROPULSION_ID) "UnionAll1"
		UNION ALL
			SELECT 
			3 AS C1, 
			"Extent8".PROPULSION_ID AS PROPULSION_ID, 
			"Extent8".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
			1 AS C2, 
			NULL AS C3, 
			NULL AS C4, 
			NULL AS C5, 
			NULL AS C6, 
			NULL AS C7, 
			NULL AS C8, 
			NULL AS C9, 
			NULL AS C10, 
			NULL AS C11, 
			NULL AS C12, 
			NULL AS C13, 
			NULL AS C14, 
			NULL AS C15, 
			1 AS C16, 
			"Join6".BASE_MOTOR_ID1 AS BASE_MOTOR_ID, 
			"Join6".FAMILY_CODE AS FAMILY_CODE, 
			"Join6".VOLTAGE AS VOLTAGE, 
			"Join6".MANUFACTURER_BRAND_ID AS MANUFACTURER_BRAND_ID, 
			NULL AS C17, 
			NULL AS C18, 
			NULL AS C19, 
			NULL AS C20, 
			NULL AS C21, 
			NULL AS C22, 
			NULL AS C23, 
			NULL AS C24, 
			NULL AS C25, 
			NULL AS C26
			FROM  TVI.PROPULSION "Extent8"
			INNER JOIN  (SELECT "Extent9".PROPULSION_ID AS PROPULSION_ID, "Extent9".BASE_MOTOR_ID AS BASE_MOTOR_ID2, "Extent10".BASE_MOTOR_ID AS BASE_MOTOR_ID1, "Extent10".MANUFACTURER_BRAND_ID AS MANUFACTURER_BRAND_ID, "Extent10".FAMILY_CODE AS FAMILY_CODE, "Extent10".VOLTAGE AS VOLTAGE
				FROM  TVI.PROPULSION_BASE_MOTOR "Extent9"
				INNER JOIN TVI.BASE_MOTOR "Extent10" ON "Extent10".BASE_MOTOR_ID = "Extent9".BASE_MOTOR_ID ) "Join6" ON "Extent8".PROPULSION_ID = "Join6".PROPULSION_ID) "UnionAll2"
	UNION ALL
		SELECT 
		4 AS C1, 
		"Extent11".PROPULSION_ID AS PROPULSION_ID, 
		"Extent11".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
		1 AS C2, 
		NULL AS C3, 
		NULL AS C4, 
		NULL AS C5, 
		NULL AS C6, 
		NULL AS C7, 
		NULL AS C8, 
		NULL AS C9, 
		NULL AS C10, 
		NULL AS C11, 
		NULL AS C12, 
		NULL AS C13, 
		NULL AS C14, 
		NULL AS C15, 
		NULL AS C16, 
		NULL AS C17, 
		NULL AS C18, 
		NULL AS C19, 
		NULL AS C20, 
		1 AS C21, 
		"Join9".FUEL_DELIVERY_ID1 AS FUEL_DELIVERY_ID, 
		"Join9".DESCRIPTION_RESOURCE_ID1 AS DESCRIPTION_RESOURCE_ID, 
		"Join9".DEFINITION_NATIVE AS DEFINITION_NATIVE, 
		"Join9".COMMENTS_NATIVE AS COMMENTS_NATIVE1, 
		NULL AS C22, 
		NULL AS C23, 
		NULL AS C24, 
		NULL AS C25, 
		NULL AS C26
		FROM  TVI.PROPULSION "Extent11"
		INNER JOIN  (SELECT "Extent12".PROPULSION_ID AS PROPULSION_ID, "Extent12".FUEL_DELIVERY_ID AS FUEL_DELIVERY_ID2, "Extent13".FUEL_DELIVERY_ID AS FUEL_DELIVERY_ID1, "Extent13".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID2, "Extent14".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID1, "Extent14".DEFINITION_NATIVE AS DEFINITION_NATIVE, "Extent14".COMMENTS_NATIVE AS COMMENTS_NATIVE
			FROM   TVI.PROPULSION_FUEL_DELIVERY "Extent12"
			INNER JOIN TVI.FUEL_DELIVERY "Extent13" ON "Extent13".FUEL_DELIVERY_ID = "Extent12".FUEL_DELIVERY_ID
			LEFT OUTER JOIN WORLD.DESCRIPTION_RESOURCE "Extent14" ON "Extent13".DESCRIPTION_RESOURCE_ID = "Extent14".DESCRIPTION_RESOURCE_ID ) "Join9" ON "Extent11".PROPULSION_ID = "Join9".PROPULSION_ID) "UnionAll3"
UNION ALL
	SELECT 
	5 AS C1, 
	"Extent15".PROPULSION_ID AS PROPULSION_ID, 
	"Extent15".COMMENTS_NATIVE AS COMMENTS_NATIVE, 
	1 AS C2, 
	NULL AS C3, 
	NULL AS C4, 
	NULL AS C5, 
	NULL AS C6, 
	NULL AS C7, 
	NULL AS C8, 
	NULL AS C9, 
	NULL AS C10, 
	NULL AS C11, 
	NULL AS C12, 
	NULL AS C13, 
	NULL AS C14, 
	NULL AS C15, 
	NULL AS C16, 
	NULL AS C17, 
	NULL AS C18, 
	NULL AS C19, 
	NULL AS C20, 
	NULL AS C21, 
	NULL AS C22, 
	NULL AS C23, 
	NULL AS C24, 
	NULL AS C25, 
	1 AS C26, 
	"Join12".FUEL_ID1 AS FUEL_ID, 
	"Join12".DESCRIPTION_RESOURCE_ID3 AS DESCRIPTION_RESOURCE_ID, 
	"Join12".DEFINITION_NATIVE AS DEFINITION_NATIVE, 
	"Join12".COMMENTS_NATIVE AS COMMENTS_NATIVE1
	FROM  TVI.PROPULSION "Extent15"
	INNER JOIN  (SELECT "Extent16".PROPULSION_ID AS PROPULSION_ID, "Extent16".FUEL_ID AS FUEL_ID2, "Extent17".FUEL_ID AS FUEL_ID1, "Extent17".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID4, "Extent18".DESCRIPTION_RESOURCE_ID AS DESCRIPTION_RESOURCE_ID3, "Extent18".DEFINITION_NATIVE AS DEFINITION_NATIVE, "Extent18".COMMENTS_NATIVE AS COMMENTS_NATIVE
		FROM   TVI.PROPULSION_FUEL "Extent16"
		INNER JOIN TVI.FUEL "Extent17" ON "Extent17".FUEL_ID = "Extent16".FUEL_ID
		LEFT OUTER JOIN WORLD.DESCRIPTION_RESOURCE "Extent18" ON "Extent17".DESCRIPTION_RESOURCE_ID = "Extent18".DESCRIPTION_RESOURCE_ID ) "Join12" ON "Extent15".PROPULSION_ID = "Join12".PROPULSION_ID) "UnionAll4"
ORDER BY "UnionAll4".C2 ASC, "UnionAll4".C1 ASC