EntityFramework a DefiningExpression rubrika: Programování: .Net

Zdravím ve spolek,
mám aplikaci postavenou na EF 6.2 a nad Oraclem. Pokouším se teď najít způsob jak si definovat vlastní expression.
Jde o aplikaci nad "legacy" databází s jejíž strukturou nemůžeme manipulovat.
V jednom dotazu potřebuji spojit dvě tabulky pomocí polí, které jsou odlišných datových typů (C#: string == long, Oracle: varchar2(50) == numeric(11)).
[Table("VAZBY")] class Vazba { public string Klic; } [Table("OSOBY")] class Osoba{ public Long Id; }
Pokud provedu dotaz linqem:
var data = from v in Context.VazbyTable join o in Context.OsobyTable on v.Klic equals o.Id.ToString()
tak dostanu chybu:
ORA-00932: nekonzistentní datové typy: očekáváno -, nalezeno NCLOB
- 00000 - "inconsistent datatypes: expected %s got %s"
Vygenerovaný SQLpak vypadá takto:SELECT "Extent1"."KLIC" AS "KLIC" FROM "VAZBY" "Extent1" INNER JOIN "OSOBY" "Extent2" ON "Extent1"."KLIC" = (TO_NCLOB("Extent2"."ID"))
Uvažoval jsem použití něčeho takového https://stackoverflow.com/questions/25261731/custom-functions-with-entit...,
ale nějak netuším kam s tím. Naše aplikace není DbFirst ani vlastně CodeFirst. EDMX a CSDL soubory zde nemáme (teda EDMX si vlastně generuji pomocí DbConfig).
Dík za nějaké nakopnutí.
Pro plný přístup na Devel.cz se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře