Linq to Entity - могу ли я добраться до другой таблицы в модели, когда на странице шаблона списка MVC
-
08-07-2019 - |
Вопрос
В шаблонном решении для проекта (веб-приложении с динамическими данными) я создал модель, и все хорошо. - Получить список таблиц, выбрать редактирование и т. Д.
Но в моей базе данных есть таблицы ссылок, которые содержат только забытые ключи - поэтому шаблон списка просто отображает значение fk
Можно ли объединить список строк в первичной таблице с проверкой другой таблицы на основе fk?
Больше похоже на объединение в SQL? но используя Linq2Entity и MetaModel?
Ниже приведен список List.aspx.cs - кажется, что он привязывает стандартную сетку к источнику entitydatasource, но это относится к текущей таблице в соответствии с маршрутом в MVC.
Но, как вы видите, мне нужно пойти и запросить таблицу Person, Role и Link через модель, чтобы получить другие поля, чтобы это было полезно.
PS хочу попытаться сохранить это в LINQ2Entity, если это возможно, - пытаясь ухитриться
естественная вещь, которую я хочу сделать, это начать раскручивать новые sql-запросы и получать значения. Но это не в этой идиоме.
Решение
вы можете ссылаться на метамодель через dataContext
MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel = refMetaModel.GetTable("yourTableName");
PS посмотрел ваш код, и это работает в вашем sceanrio. Вы можете получить таблицы из модели, а затем проверить данные, возвращенные для каждой таблицы в модели
Другие советы
Полезно использовать это также из модели Linq to Entities -
Используя dataContext - вы можете получить наиболее полезные данные.
metaModel разрешает доступ к dataModel, который предоставляет вам базовую информацию о типе 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)