> 类以提供功能,例如,添加和删除对象。

通过将 LINQ to Entities 或查询生成器方法可以进一步优化此查询。

Products 集合的对象上下文进行查询。

 

using (AdventureWorksEntities AWEntities =
                new AdventureWorksEntities())
{
    ObjectSet<Product> products = AWEntities.Products;
    IQueryable<Product> productsQuery =
                from product
                in products
                                       
                select product;

    Console.WriteLine(
                "Product Names:");
   
                foreach (
                var prod
                in productsQuery)
    {
        Console.WriteLine(prod.Name);
    }
}


查询执行

在以下情况下,将执行对象查询:

  • For Each (Visual Basic) 语句枚举对象。

  • ))枚举对象。

  • Execute 方法。

  • 查询生成器方法(实体框架)

null

博客(可能为英文网页),它演示如何执行本地查询。

Execute 方法执行查询:

 

using (AdventureWorksEntities advWorksContext =
   
                new AdventureWorksEntities())
{
    ObjectSet<Product> query = advWorksContext.Products;

   
                // Execute the query and get the ObjectQueryResult.
    ObjectResult<Product> queryResult = query.Execute(MergeOption.AppendOnly);
   
                // Iterate through the collection of Product items.foreach (Product result
                in queryResult)
        Console.WriteLine(
                "{0}", result.Name);
}

查询投影

DbDataRecord 对象,或可返回单个值集的基元 CLR 类型。

以下注意事项适用于查询投影:

  • ArgumentException 异常,如下面的示例中所示。

// Define a query projection that returns // a single scalar value rather than a collection.
ObjectQuery<Int32> scalarQuery =
   
                    new ObjectQuery<Int32>(
                    "100", advWorksContext);


                    // Calling an extension method that requires a collection// will result in an exception.bool hasValues = scalarQuery.Any();

 

null 值。

 

);

可以为 null 的类型(C# 编程指南)

查看存储命令

如何:查看存储命令(实体框架)

通过对象的 EntityKey 检索对象

如何:使用特定对象的键返回特定对象(实体框架)

请参见

概念

 



 

相关文章: