共用方式為


命名空間 (Entity SQL)

Entity SQL 引進命名空間,以避免全域標識符的名稱衝突,例如類型名稱、實體集、函式等等。 Entity SQL 中的命名空間支援類似於 .NET Framework 中的命名空間支援。

Entity SQL 提供兩種形式的 USING 子句:限定命名空間(其中為命名空間提供較短的別名),以及未限定的命名空間,如下列範例所示:

USING System.Data;

USING tsql = System.Data;

名稱解析規則

如果無法在本機範圍中解析標識符,Entity SQL 會嘗試在全域範圍中尋找名稱(命名空間)。 Entity SQL 會先嘗試比對標識碼 (prefix) 與其中一個限定命名空間。 如果有相符專案,Entity SQL 會嘗試解析指定命名空間中標識碼的其餘部分。 如果找不到相符專案,則會擲回例外狀況。

接下來,Entity SQL 會嘗試搜尋標識碼的所有未限定命名空間(在初構中指定)。 如果標識元正好位於一個命名空間中,則會傳回該位置。 如果有多個命名空間符合該標識符,則會擲回例外狀況。 如果無法識別標識碼的命名空間,Entity SQL 會將名稱傳遞至下一個向外範圍 ( DbCommandDbConnection 物件),如下列範例所示:

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 。 命名空間也可以指定為和 DbConnection 物件的DbCommand一部分。 如果 Entity SQL 無法解析查詢本身內的標識碼,則會探查外部命名空間(根據類似的規則)。

另請參閱