我找不到关于这些运算符的好文档。有人可以提供一些使用示例并解释它们的作用吗?
问问题
1004 次
1 回答
-1
实体 SQL 的 CREATEREF 参考: 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 操作返回 null。
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();
}
于 2011-10-01T07:28:55.330 回答