实体框架中的动态查询、实体创建与异常处理
动态查询结果读取
在创建查询后,你可以通过 query.CommandText 获取其 CommandText 属性,而不是直接执行查询。例如,在 SortedEntityList<Customer>("LastName") 中创建的查询的 CommandText 如下:
"SELECT VALUE it FROM ([BAEntities].[Contacts]) AS it ORDER BY it.LastName"
动态创建的查询结果读取可能有些棘手,因为你可能不清楚数据内容。不过,由于这是一个 ObjectQuery ,所有数据都在 ObjectContext 中。在遍历数据时,你可以访问 ObjectStateEntries ,并使用通用代码来了解实体信息。
对于查询返回的每个 DbDataRecord ,可以执行以下操作:
1. 将行转换为 IExtendedDataRecord ,使其包含 DataRecordInfo 对象、 FieldCount 属性和表示行字段的项列表。基于示例 21 - 44 中的查询,行应包含以下内容:
- Field(0)
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



