Bonjour,
En asp.net MVC j'utilise le framework Entity pour générer mon modèle.
Je dois me connecter à 2 SGBD Oracle (Intellect et Flexcube), pour croiser leurs données.
J'ai donc 2 fichiers edmx correspondant aux entités des 2 bases, chacune avec son propre contexte.
Je parviens sans difficulté à exécuter des requêtes sur des tables d'une bases à la fois.
Mais lorsque j'essaye de croiser les données des 2 SGBD, j'ai une erreur au débuggage de l'application
Voici dans mon controlleur, la requête Linq To Entity qui croise les données des 2 SGBDL'expression LINQ spécifiée contient des références à des requêtes qui sont associées à des contextes différents.
Dois-je modifier les fichiers edmx, pour ajouter l'autre contexte à la 1ere entité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 ObjectQuery<TB_INTR_OUTGOING_DEAL> t_IntellDeals = _IntellEntities.TB_INTR_OUTGOING_DEAL; ObjectQuery<TB_FXFRONTOFFICE> t_IntellFrontOffice = _IntellEntities.TB_FXFRONTOFFICE; ObjectQuery<CSTB_CONTRACT> t_FlexCstb_contract = _FlexEntities.CSTB_CONTRACT; ObjectQuery<FXTB_CONTRACT_MASTER> t_FlexFxtb_contract = _FlexEntities.FXTB_CONTRACT_MASTER; ViewData.Model = ( from intellFrontOffice in _IntellEntities.TB_FXFRONTOFFICE join flexCstbContract in t_FlexCstb_contract on intellFrontOffice.REF_NUM equals flexCstbContract.USER_REF_NO join intellOutgoingDeals in t_IntellDeals on intellFrontOffice.REF_NUM equals intellOutgoingDeals.INTELLECT_ID join flexFxtbContract in t_FlexFxtb_contract on flexCstbContract.CONTRACT_REF_NO equals flexFxtbContract.CONTRACT_REF_NO where flexCstbContract.BOOK_DATE == maDate select new IntellFlexViewModel { f_Contract_Ref_NO = flexCstbContract.CONTRACT_REF_NO, f_Book_date = flexCstbContract.BOOK_DATE, f_CounterParty = flexCstbContract.COUNTERPARTY, i_User_Ref_No = intellFrontOffice.REF_NUM, f_Sold_CCY = flexFxtbContract.SOLD_CCY, //i_Ccy_Sold = intellFrontOffice.CCY_SOLD f_Sold_Amount = flexFxtbContract.SOLD_AMOUNT, i_Amt_Sold = intellFrontOffice.AMT_SOLD }).ToList();
Partager