Linq to Entity - eu posso obter para outra tabela no modelo quando na página MVC modelo de lista

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

Pergunta

no para fora da solução modelo de projeto (Web Application Dynamic Data), eu tenho o modelo criado e tudo é bom. - Obtenha a lista das mesas, eo selecione Editar etc

.

Mas o meu banco de dados que liga as tabelas que contêm apenas chaves forgien - de modo que o modelo de lista apenas mostra o valor fk

diagrama da tabela

Existe longe de combinar a lista da linha na tabela primária com uma inspeção de outra tabela com base no fk?

Mais semelhante a uma associação no SQL? mas usando Linq2Entity eo MetaModel?

Abaixo está a List.aspx.cs -. Isso parece vincular a grade padrão para o EntityDataSource, mas esta é a tabela atual de acordo com o trajecto da MVC

Mas como você pode ver eu preciso ir e consultar o Pessoa, Papel e mesa Link através do modelo para obter os outros campos para que isso seria útil. VStudio

PS quer tentar e manter isso em LINQ2Entity se possível -trying para grok

a coisa natural que eu quero fazer é começar a spin off novas consultas SQL para ir e retrive os valores. Mas este não é neste idioma.

Foi útil?

Solução

você pode fazer referência a MetaModel via o DataContext

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

PS olhou para seu código e isso funciona na sua sceanrio. Você pode obter as tabelas do modelo, em seguida, inspecionar os dados retornados para cada tabela no modelo

artigo MSDN sobre a MetaModel

Outras dicas

uselful usar isso como bem desde o Linq to Entities Model -

Usando o DataContext -. Você pode obter os dados acutal mais útil

O metamodelo permite o acesso ao dataModel que lhe dá a informação subjacente 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top