2009-09-08 5 views
0

Je souhaite inclure une table (Events) d'une autre base de données dans ma classe LINQ to SQL.Tables de 2 bases de données dans une classe LINQ to SQL

Comment dois-je formater la source de données de cette table?

J'ai essayé avec IP.dbo.Events, IP.DatabaseName.dbo.Events et ainsi de suite, mais je ne peux pas le faire fonctionner.

La raison de tout cela est de sélectionner les événements auxquels un client a participé.

J'ai également essayé d'avoir la table dans une autre classe LINQ to SQL, mais elle se plaint ensuite sur le contexte de données.

public static IQueryable<Event> ByClientID(this IQueryable<Event> events, int clientID) 
    { 
     events = from e in events 
       from c in new MyDataContext().ClientCourses 
       where e.EventID == c.CourseID && 
       c.ClientID == clientID 
       select e; 

     return events; 
    } 

Répondre

1

Vous ne pouvez utiliser des tables qui se trouvent sur le même serveur SQL physique dans deux cas différents. Je l'ai fait une fois car quelqu'un avait "habilement" mis la base de données d'une application à travers deux instances de base de données. Il s'agit d'un blog post on it here that may help.

0

Pourriez-vous créer une vue qui renvoie les données de la 2ème base de données et l'utiliser à la place? (Pas essayé si absolument aucune idée si ça va fonctionner :)

De toute évidence, ce n'est pas bon si vous avez besoin d'enregistrer dans l'autre base de données aussi ..

Questions connexes