Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Entity SQL представляет пространства имен, чтобы избежать конфликтов имен для глобальных идентификаторов, таких как имена типов, наборы сущностей, функции и т. д. Поддержка пространства имен в Entity SQL аналогична поддержке пространства имен в .NET Framework.
Entity SQL предоставляет две формы предложения USING: квалифицированные пространства имен (где для пространства имен предоставляется более короткий псевдоним), а также неквалифицированные пространства имен, как показано в следующем примере:
USING System.Data;
USING tsql = System.Data;
Правила разрешения имен
Если идентификатор не может быть разрешен в локальных областях, Entity SQL пытается найти имя в глобальных областях (пространства имен). Entity SQL сначала пытается сопоставить идентификатор (префикс) с одним из квалифицированных пространств имен. Если имеется совпадение, Entity SQL пытается устранить остальную часть идентификатора в указанном пространстве имен. Если совпадение не найдено, создается исключение.
Затем Entity SQL пытается выполнить поиск всех неквалифицированных пространств имен (указанных в прологе) для идентификатора. Если идентификатор может находиться в одном пространстве имен, возвращается это расположение. Если несколько пространств имен совпадают с этим идентификатором, создается исключение. Если для идентификатора не удается определить пространство имен, Entity SQL передает имя в следующую внешнюю область ( DbCommand или DbConnection объект), как показано в следующем примере:
SELECT TREAT(p AS NamespaceName.Employee)
FROM ContainerName.Person AS p
WHERE p IS OF (NamespaceName.Employee)
Различия от платформы .NET Framework
В .NET Framework можно использовать частично квалифицированные пространства имен. Entity SQL не допускает это.
использование ADO.NET
Запросы выражаются через объекты ADO.NET DbCommand . DbCommand объекты можно создавать на основе DbConnection объектов. Пространства имен также можно указать как часть DbCommand и DbConnection объекты. Если entity SQL не может разрешить идентификатор в самом запросе, внешние пространства имен пробуются (на основе аналогичных правил).