¿Puede Code Entity Framework realizar consultas cruzadas de bases de datos con bases de datos de SQL Server en el mismo cuadro?

Sé que ha habido muchas preguntas sobre Entity Framework haciendo consultas cruzadas de bases de datos en el mismo servidor publicado endesbordamiento de pil. En general, la respuesta parece ser 'no', y este enlace deway en 2008 se hace referencia a. Sin embargo, Entity Framework está cambiando todo el tiempo y con CTP5 desactivado, me pregunto si la respuesta sigue siendo la misma: que no puede hacerlo, o puede hacerlo si edita manualmente el archivo edmx, o si tiene para usar vistas. Esta característica por sí sola es la razón por la que todavía estoy vinculado a Linq-to-SQL, ya que tenemos varias bases de datos de SQL Server 2008 en el mismo servidor y necesitamos consultar a través de ellas. Contaminando nuestras bases de datos con cientos deselect * views no es una opción, y con el desarrollo de código primero no tengo un archivo edmx para editar. Estaba jugando con la base de datos de pubs para ver si podía llegar a algún lado, pero estoy atascado. ¿Alguna sugerencia

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;

namespace DbSchema {
    public class Employee {
        [Key]
        public string ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public short JobID { get; set; }
        public Job Job { get; set; }
    }

    public class Job {
        [Key]
        public short ID { get; set; }
        public string Description { get; set; }
    }

    public class PubsRepository : DbContext {
        public DbSet<Employee> Employee { get; set; }
        public DbSet<Job> Job { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder) {
            // employee
            var eeMap = modelBuilder.Entity<Employee>();
            eeMap.ToTable("employee", "dbo"); // <-- how do I reference another database?
            eeMap.Property(e => e.ID).HasColumnName("emp_id");
            eeMap.Property(e => e.FirstName).HasColumnName("fname");
            eeMap.Property(e => e.LastName).HasColumnName("lname");
            eeMap.Property(e => e.JobID).HasColumnName("job_id");

            // job
            var jobMap = modelBuilder.Entity<Job>();
            jobMap.Property(j => j.ID).HasColumnName("job_id");
            jobMap.Property(j => j.Description).HasColumnName("job_desc");
        }

        public List<Employee> GetManagers() {
            var qry = this.Employee.Where(x => x.Job.Description.Contains("manager"));
            Debug.WriteLine(qry.ToString());
            return qry.ToList(); // <-- error here when referencing another database!
        }
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta