博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

第3章 SharePoint列表新特性以及数据访问

 
使用CAML查询语
    CAML:协作应用程序标记语言 Collaboration Application Markup Language
    使用Microsoft.SharePoint.SPQuery 对象查询列表数据
    CAML语法:
        <Where>
            <And | Or>
                <Eq | BeginsWith | Contains | Geq | Gt | IsNotNull | IsNull | Leq | Lt | Neq>
                    <FieldRef Name='LastName'/>
                    <Value Type = 'Text'>Wong</Value>
                </Eq>
                <Geq>
                    <FieldRef Name = 'Age'/>
                    <Value Type = 'Number'>21</Value>
                </Geq>
            </And>
        </Where>
            <And><Or>之间只可有两个并级的子节点。
        <GroupBy>
            <FieldRef Name='Title' />
        </GroupBy>
        <OrderBy>
        <FieldRef Name='Age' />
        </OrderBy>
 
    SPQuery.ViewFields    指定返回的列
    SPQuery.Folder            指定查询源文件夹
 
    <FieldRef Name='DueDate' IncludeTimeValue='True' />
    <Value Type='DateTime'>2011-04-24T00:00:00Z</Value>
 
    关联列表查询
        通过SPQuery.Joins 指定要关联的表;SPQuery.ProjectedFields指定要使用的字段。
 
    多列表查询
        引用关系的多列表查询 Microsoft.SharePoint.SPQuery
        在范围列表数据查询    Microsoft.SharePoint.SPSiteDataQuery
 
    Throttling查询
 
使用LINQ操作列表
    CAML语法难以编辑,无法在编译时发现错误
    LINQ最终会被翻译成CAML执行,应该优先使用LINQ
    SPSiteDataQuery在LINQ里没有替代方式
 
    列表和列表项的数据结构建立在关系数据库基础上;
    实体类-抽象层,面向对象的接口,能够跟踪变化并处理更新时的并发等;使用SPMetal创建;
    
    DataContex
        Microsoft.SharePoint.Linq.DataContex类提供了到列表的链接、追踪数据变化的操作;