是否可以在不使用SharePoint Designer的情况下将外部内容类型映射到Office项类型?

时间:2012-11-28 13:06:50

标签: sharepoint-2013 external-contenttype

我需要将Outlook连接到外部列表,并且必须将其内容类型映射到Office项目类型,但遗憾的是我无法在SPD2013中看到它。可能是因为BDC模型使用OData,它在SPD2013(my question about it)中的支持有限。

那么,是否可以在不使用SharePoint Designer的情况下将外部内容类型映射到Office项类型?如果是这样,我该怎么做?

提前谢谢。

PS:SharePoint 2013 RTM。

1 个答案:

答案 0 :(得分:0)

乌拉! 经过三天不成功的谷歌搜索,并在任何地方问这个问题:-)我试图自己调查,最后,我找到了办法!

看起来很容易手工绘制它。为此,您必须在BDC模型文件中进行2次更改(扩展名为.bdcm的xml):

将具有Office项类型名称的属性添加到实体

<Entities>
    <Entity Name="AbsenceCalendar" DefaultDisplayName="AbsenceCalendar"  Namespace="MyNameSpace" Version="1.0.0.0" EstimatedInstanceCount="2000">
<Properties>
    <Property Name="OutlookItemType" Type="System.String">Appointment</Property>
    ...
</Properties>
...

将必要字段映射到Office项目类型。例如,对于约会Office项目类型的必填字段,它可能看起来像

<Method Name="ReadSpecificAbsenceCalendarEntity" DefaultDisplayName="Read Specific AbsenceCalendarEntity" IsStatic="false">    
......    
  <Parameter Name="@AbsenceCalendarEntity" Direction="Return">
     <TypeDescriptor Name="AbsenceCalendarEntity" DefaultDisplayName="AbsenceCalendarEntity" TypeName="Microsoft.BusinessData.Runtime.DynamicType">   
       <TypeDescriptors> 
           <TypeDescriptor Name="Title" DefaultDisplayName="Title" TypeName="System.String"> 
              <Properties>
                <Property Name="OfficeProperty" Type="System.String">Subject</Property>
              </Properties>
           </TypeDescriptor>
           <TypeDescriptor Name="StartDate" DefaultDisplayName="StartDate" TypeName="System.DateTime">
              <Properties>
                 <Property Name="OfficeProperty" Type="System.String">Start</Property>
               </Properties>
            </TypeDescriptor>
            <TypeDescriptor Name="EndDate" DefaultDisplayName="EndDate" TypeName="System.DateTime">
                <Properties>
                       <Property Name="OfficeProperty" Type="System.String">End</Property>
                 </Properties>
            </TypeDescriptor>
.......