Ссылка CREATEREF для Entity SQL: http://msdn.microsoft.com/en-us/library/bb386880(v=VS.90)
Используется для «изготовления ссылок на сущность в наборе сущностей».Вы также можете найти ссылки REF и DEREF по ссылке.
Для VS 2010 ссылка: http://msdn.microsoft.com/en-us/library/bb386880(v=VS.100)
Образец из MSDN:
ВВ приведенном ниже примере Orders и BadOrders являются наборами сущностей типа Order, а Id предполагается как свойство единственного ключа Order.Пример иллюстрирует, как мы можем создать ссылку на сущность в BadOrders.Обратите внимание, что ссылка может быть висящей.То есть ссылка может фактически не идентифицировать конкретную сущность.В этих случаях операция DEREF для этой ссылки возвращает нулевое значение.
select CreateRef(LOB.BadOrders, row(o.Id))
from LOB.Orders as o
Пример кода использования структуры сущностей SQL:
using (EntityConnection conn =
new EntityConnection("name=AdventureWorksEntities"))
{
conn.Open();
// Create a query that takes two parameters.
string esqlQuery =
@"SELECT VALUE Contact FROM AdventureWorksEntities.Contact
AS Contact WHERE Contact.LastName = @ln AND
Contact.FirstName = @fn";
try
{
using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
{
// Create two parameters and add them to
// the EntityCommand's Parameters collection
EntityParameter param1 = new EntityParameter();
param1.ParameterName = "ln";
param1.Value = "Adams";
EntityParameter param2 = new EntityParameter();
param2.ParameterName = "fn";
param2.Value = "Frances";
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
// Iterate through the collection of Contact items.
while (rdr.Read())
{
Console.WriteLine(rdr["FirstName"]);
Console.WriteLine(rdr["LastName"]);
}
}
}
}
catch (EntityException ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
}