EntityDataSource.Include 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置指定要包含在查询结果中的相关对象的表达式。
public:
property System::String ^ Include { System::String ^ get(); void set(System::String ^ value); };
public string Include { get; set; }
member this.Include : string with get, set
Public Property Include As String
属性值
要在查询结果中返回的以逗号分隔的查询路径列表。
示例
以下 XML 标记定义一个查询路径,该路径返回 SalesOrderHeader
与返回 Contact
的对象相关的对象。 对于每个 SalesOrderHeader
,也会返回相关的 SalesOrderDetail
和 Address
对象。
<asp:EntityDataSource ID="ContactDataSource" runat="server"
AutoGenerateWhereClause="True" ConnectionString="name=AdventureWorksEntities"
DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" EntitySetName="Contact"
Include="SalesOrderHeader.SalesOrderDetail, SalesOrderHeader.Address">
<WhereParameters>
<asp:ControlParameter ControlID="customerId" Name="ContactID"
PropertyName="Text" />
</WhereParameters>
</asp:EntityDataSource>
前面的 XML 示例与以下 ObjectQuery<T> 名为 customers
的相同:
ObjectQuery<Contact> customers =
context.Contact
.Where("it.ContactID = @ContactID",
new ObjectParameter("ContactID", customerId))
.Include("SalesOrderHeader.SalesOrderDetail")
.Include("SalesOrderHeader.Address");
注解
Include控件的 EntityDataSource 属性指定以逗号分隔的查询路径列表,这些路径定义与特定查询对象一起返回的对象。 字符串中的每个逗号分隔值都作为对实体框架执行的 方法的ObjectQuery<T>单独调用Include传递,无需修改。 此查询是控件所管理的 EntityDataSource 数据的源。 属性 Include 是执行前应用于 ObjectQuery<T> 的参数。
提供给 属性的 Include 字符串使用与传递给 Include 的 方法的 ObjectQuery<T>字符串相同的格式。 有关如何使用查询路径自动加载相关对象的示例,请参阅 如何:使用查询路径来调整结果。
Include使用 属性指定查询路径时,相关实体的属性只能用于只读数据绑定。 如果查询路径中未显式包含相关对象,则属性描述符仍可用于数据绑定,但属性本身会返回 null 值。 在这种情况下,必须显式加载相关对象才能显示其值。 有关详细信息,请参阅加载相关对象。