Bonjour,

En asp.net MVC j'utilise le framework Entity pour générer mon modèle.
Je dois me connecter à 2 SGBD Oracle, pour croiser leurs données.

J'ai donc 2 fichiers edmx correspondant aux entités des 2 bases.

Je parviens sans difficulté à exécuter des requêtes sur des tables d'une bases à la fois, dans mon controller.


Je me suis créé un modèle qui manipule les données croisées
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
 
     public class IntellFlexViewModel
    {
        public string f_Contract_Ref_NO{ get; set; }
 
        public DateTime? f_Book_date { get; set; }
 
        public string f_CounterParty { get; set; }
 
        public string i_User_Ref_No { get; set; }
 
        public string f_Sold_CCY{ get; set; }
 
        public decimal? f_Sold_Amount{ get; set; }
 
        public decimal i_Amt_Sold{ get; set; }
 
 
    }
Mais j'ai une erreur, dans mon controlleur, au débuggage de l'application :
L'expression LINQ spécifiée contient des références à des requêtes qui sont associées à des contextes différents.
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();