Этот вопрос о том, почему я бы использовал вышеупомянутые ключевые слова.Я нашел много страниц MSDN, которые объясняют как.Я ищу причину.
Какой запрос я бы попытался написать, что означает, что они мне нужны?Я спрашиваю, потому что примеры, которые я нашел, кажутся достижимыми другими способами ...
Чтобы попытаться выяснить это самостоятельно, я создал очень простую модель сущности, используя таблицы Employee и EmployeePayHistory из базы данных AdventureWorks.
Один пример, который я видел в сети, продемонстрировал нечто похожее на следующий Entity SQL:
SELECT VALUE
DEREF(CREATEREF(AdventureWorksEntities3.Employee, row(h.EmployeeID))).HireDate
FROM
AdventureWorksEntities3.EmployeePayHistory as h
Кажется, это откатывает HireDate без указания соединения?
Почемуэто лучше, чем приведенный ниже SQL (который, по-видимому, делает то же самое)?
SELECT VALUE
h.Employee.HireDate
FROM
AdventureWorksEntities3.EmployeePayHistory as h
Глядя на два приведенных выше оператора, я не могу понять, какой дополнительный бит CREATEREF, DEREF добавляет, посколькуКажется, я могу достичь того, чего хочу, без них.
Я предполагаю, что просто не нашел сценариев, которые демонстрируют цель.Я предполагаю, что есть сценарии, в которых использование этих ключевых слов либо проще, либо является единственным способом достижения требуемого результата.
Чего я не могу найти, так это сценариев ....
Кто-нибудь может заполнить пробел?Мне не нужны целые наборы SQL.Мне просто нужна начальная точка, чтобы поиграть, т.е. краткое описание сценария или двух ... Я сам могу это расширить.