Linq to Entity - eu posso obter para outra tabela no modelo quando na página MVC modelo de lista
-
08-07-2019 - |
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
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.
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.
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
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)