Entity Framework Запросы внешнего ключа - PullRequest
1 голос
/ 28 октября 2010

В моей структуре сущностей есть две таблицы, объекты и параметры, которые имеют внешний ключ, указывающий на объект, которому они принадлежат.Я хочу заполнить дерево всеми атрибутами определенного объекта.Таким образом, чтобы найти тех, кого я хочу сделать:

   String parentObject = "ParentObjectName";
   var getAttributes = (from o in myDB.ATTRIBUTE
                        where o.PARENT_OBJECT == parentObject
                        select o);

Однако, когда я пытаюсь сделать это, я получаю сообщение об ошибке, говорящее, что он не может преобразовать тип OBJECT в строку, даже если в базе данных это значениехранится в виде строки.У меня есть обходной путь, когда я получаю экземпляр parentObject, затем просматриваю каждый атрибут и проверяю, является ли он parent_object == parentObjectInstance, но это гораздо менее эффективно, чем просто выполнение 1 запроса.Любая помощь будет очень признателен, спасибо!

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Ну, PARENT_OBJECT.ToString() нельзя вызвать (неявно или явно) в L2E, но если он просто возвращает свойство, вы можете посмотреть на это напрямую:

String parentObject = "ParentObjectName";
var getAttributes = (from o in myDB.ATTRIBUTE
                     where o.PARENT_OBJECT.NAME == parentObject
                     select o);

... обратите внимание на .NAME

0 голосов
/ 28 октября 2010

Попробуйте это:

String parentObject = "ParentObjectName"; 
   var getAttributes = (from o in myDB.ATTRIBUTE 
                        where o.PARENT_OBJECT.ToString() == parentObject 
                        select o); 
...