У меня есть таблица Админы, которая создает связь между пользователями и Locations:нагрузки значение внешнего ключа с помощью LINQ к объектам
ID - numeric (PK)
UserId - uniqueidentifier (FK to UserId in aspnet_Users table)
LocationId - numeric
Теперь я хочу, чтобы выполнить команду:
IQueryable<decimal> location_ids = (from m in _db.Admins
where m.UserId.Equals(new Guid("c5d3dc0e-81e6-4d6b-a9c3-faa802e10b7d")) && m.LocationId.Equals(conf.umisteni.Budova.ID)
select m.LocationId);
Но для некоторых Причина (я думаю, что UserId является FK). m.UserId не может быть разрешен. Так что я пытался использовать
m.aspnet_UsersReference.Value.UserId
Но тогда оператор
if (!location_ids.Any())
решение терпит неудачу с исключением
System.NotSupportedException: The specified type member 'aspnet_UsersReference' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
Что я должен сделать для того, чтобы получить перечислимую список LocationIds?
Заранее спасибо.
Очевидно, я забыл объяснить таблицу aspnet_Users. Главным его атрибутом является UserId - PK и uniqueidentifier. Нет, точки нет. – Trimack
ОК, соедините точки, затем. У вас есть отношения с собственностью Пользователи. Суть моего ответа в том, что вы его не используете. Я догадался, что имя ключа и отношения неверны, но ответ по-прежнему в правильном направлении: * Используйте отношения вместо того, чтобы обходить его. * Тогда ваш запрос будет работать в LINQ to Entities. Тем не менее, я уточню свой ответ с другой догадкой о правильных именах. –