Linq to Entity: ¿puedo acceder a otra tabla en el modelo cuando esté en la página MVC de la plantilla de lista

StackOverflow https://stackoverflow.com/questions/302650

Pregunta

dentro de la solución de plantilla de proyecto (Aplicación web de datos dinámicos), he creado el modelo y todo está bien. - Obtenga la lista de las tablas, y seleccione la edición, etc.

Pero mi base de datos tiene tablas de vinculación que solo contienen claves de pago, por lo que la plantilla de lista solo muestra el valor fk

diagrama de la tabla

¿Hay alguna posibilidad de combinar la lista de la fila en la tabla primaria con una inspección de otra tabla basada en el fk?

¿Más parecido a una unión en SQL? pero usando Linq2Entity y MetaModel?

A continuación se muestra List.aspx.cs: parece vincular la cuadrícula estándar con la fuente de datos de la entidad, pero se trata de la tabla actual según la ruta en el MVC.

Pero como puede ver, necesito ir y consultar la tabla Persona, Rol y Enlace a través del modelo para obtener los otros campos para que esto sea útil. vstudio

PS quiere probar y mantener esto en LINQ2Entity si es posible -intentando grok

lo natural que quiero hacer es comenzar a generar nuevas consultas sql para ir y recuperar los valores. Pero esto no está en este idioma.

¿Fue útil?

Solución

puede hacer referencia al metaModel a través de dataContext

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");

PD miró su código y esto funciona en su sceanrio. Puede obtener las tablas del modelo y luego inspeccionar los datos devueltos para cada tabla en el modelo

Artículo de MSDN en MetaModel

Otros consejos

Útil también para usar esto desde el Modelo Linq to Entities -

Uso de dataContext: puede obtener los datos agudos más útiles.

El metaModel permite el acceso al dataModel que le brinda la información subyacente del tipo ddl

//use the datacontext to get the underlying data
      using (brrdbEntities brr = new brr_dbEntities())
      {
          ObjectQuery<person> people = brr.person;
          IQueryable<string> names = from p in people select p.person_name;
          foreach (var name    in names)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top