部署 SharePoint 2010 解决方案时出错 - 无法创建超过“500”个每个 ILobSystem 对象的 IEntity 对象

发布于 2024-11-27 17:02:37 字数 14065 浏览 3 评论 0原文

我正在从模型第一个 LLBLGen 框架/C# .net 3.5 项目生成一个 sharepoint 2010 bdc 模型 xml 文件以及实体和关联的服务类。一切都很顺利,但我在部署 BDC 解决方案时突然开始收到此错误;

部署步骤“添加解决方案”中发生错误 178 错误:无法为每个 ILobSystem 对象创建超过“500”个 IEntity 对象。

部署正常(修改注册表以延长超时设置后)与当前的实体数量。我在 MSDN 和 google 中都找不到任何对 IEntity 对象限制的引用,并且尝试以各种方式更改生成的 xml 文件进行测试。如果我删除一个实体,错误将转移到下一个实体的开头。 Visual Studio 构建的解决方案很好,仅包含有关日期时间数据类型的警告(显然是已知问题)。

我只定义了 59 个实体。其中一些处于继承层次结构中,并且模型中表达了许多 FK 关系。我的模型中有太多实体对我来说没有任何意义。我还有很多想补充的。我在每个实体上包含 EstimatedInstanceCount="10000" 但这似乎没有任何影响。事实上我相信这是默认的。模型文件非常大,但我将包含以下单个实体片段以供参考正在生成的代码。

<Entity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" EstimatedInstanceCount="10000" Version="1.0.0.26">
    <Properties>
        <Property Name="Class" Type="System.String">SharePoint.DataConnector.VoyagerModel.LoadService, VoyagerModel</Property>
    </Properties>
    <Identifiers>
        <Identifier Name="Id" TypeName="System.Int32" />
        <!-- TODO: Change the name of the ID and if needed the TypeName of your identifier. -->
    </Identifiers>
    <Methods>
        <!-- start finder method -->
        <Method Name="ReadList">
        <!-- TODO: Change the name of the method if needed. -->
            <Parameters>
                <Parameter Direction="Return" Name="returnParameter">
                <TypeDescriptor TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel]]" IsCollection="true" Name="LoadList">
                    <TypeDescriptors>
                    <TypeDescriptor Name="Load" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <!-- TODO: Add TypeDescriptors when you add properties to Load. -->                         
                            <TypeDescriptor Name="OrderId" IsCollection="false" ReadOnly="false" TypeName="System.Int32" />
                            <TypeDescriptor Name="Status" IsCollection="false" ReadOnly="false" TypeName="System.String" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                    </TypeDescriptors>
                </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Type="Finder" ReturnParameterName="returnParameter" Default="true" Name="ReadList" DefaultDisplayName="Load List">
                <Properties>
                    <Property Name="RootFinder" Type="System.String">x</Property>
                </Properties>
                </MethodInstance>
            </MethodInstances>
        </Method>
        <!-- end finder method -->
        <!-- start specific finder method -->
        <Method Name="ReadItem">
            <Parameters>
                <Parameter Direction="In" Name="id">
                    <TypeDescriptor TypeName="System.Int32" IdentifierName="Id" Name="Id" IsCollection="false" />
                </Parameter>
                    <Parameter Direction="Return" Name="returnParameter">
                    <TypeDescriptor TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel" Name="Load">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <!-- TODO: Add TypeDescriptors when you add properties to Load. -->
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" />
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Type="SpecificFinder" ReturnParameterName="returnParameter" Default="true" Name="ReadItem" DefaultDisplayName="Read Load" />
            </MethodInstances>
        </Method>
        <Method Name="Create">
            <Parameters>
                <Parameter Name="returnLoad" Direction="Return">
                    <TypeDescriptor Name="ReturnLoad" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" />                      
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" />                      
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
                <Parameter Name="newLoad" Direction="In">
                    <TypeDescriptor Name="NewLoad" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" IdentifierName="Id" IsCollection="false" ReadOnly="false" TypeName="System.Int32" CreatorField="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" CreatorField="true" />                      
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" CreatorField="true" />                      
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Create" Type="Creator" ReturnParameterName="returnLoad" ReturnTypeDescriptorPath="ReturnLoad" />
            </MethodInstances>
        </Method>
        <Method Name="Delete">
            <Parameters>
                <Parameter Name="id" Direction="In">
                    <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Delete" Type="Deleter" />
            </MethodInstances>
        </Method>
        <Method Name="Update">
            <Parameters>
                <Parameter Name="Load" Direction="In">
                    <TypeDescriptor Name="Load" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" UpdaterField="true" />
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" UpdaterField="true" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Update" Type="Updater" />
            </MethodInstances>
        </Method>
        <!-- start related entity methods -->

        <Method Name="LoadToOrders">
            <Parameters>
                    <Parameter Name="id" Direction="In">
                        <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" ForeignIdentifierAssociationEntityName="Load" ForeignIdentifierAssociationEntityNamespace="SharePoint.DataConnector.VoyagerModel" ForeignIdentifierAssociationName="LoadToOrdersAssociationNavigator" />
                    </Parameter>
                    <Parameter Name="orderList" Direction="Return">
                        <TypeDescriptor Name="OrderList" TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Order, VoyagerModel]]" IsCollection="true">
                            <TypeDescriptors>
                                <TypeDescriptor Name="Order" TypeName="SharePoint.DataConnector.VoyagerModel.Order, VoyagerModel">
                                    <TypeDescriptors>
                                        <TypeDescriptor Name="Id" IsCollection="false" ReadOnly="true" TypeName="System.Int32" IdentifierEntityName="Order" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                                    </TypeDescriptors>
                                </TypeDescriptor>
                            </TypeDescriptors>
                        </TypeDescriptor>
                    </Parameter>
            </Parameters>
            <MethodInstances>
                    <Association Name="LoadToOrdersAssociationNavigator" Type="AssociationNavigator" ReturnParameterName="orderList" ReturnTypeDescriptorPath="OrderList">
                        <SourceEntity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" />
                        <DestinationEntity Name="Order" Namespace="SharePoint.DataConnector.VoyagerModel" />
                    </Association>
            </MethodInstances>
        </Method>

        <Method Name="LoadToDriver">
            <Parameters>
                <Parameter Name="id" Direction="In">
                    <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" ForeignIdentifierAssociationEntityName="Load" ForeignIdentifierAssociationEntityNamespace="SharePoint.DataConnector.VoyagerModel" ForeignIdentifierAssociationName="LoadToDriverAssociationNavigator" />
                </Parameter>
                <Parameter Name="driverList" Direction="Return">
                    <TypeDescriptor Name="DriverList" TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Driver, VoyagerModel]]" IsCollection="true">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Driver" TypeName="SharePoint.DataConnector.VoyagerModel.Driver, VoyagerModel">
                                <TypeDescriptors>
                                    <TypeDescriptor Name="Id" IsCollection="false" ReadOnly="true" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                                </TypeDescriptors>
                            </TypeDescriptor>
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <Association Name="LoadToDriverAssociationNavigator" Type="AssociationNavigator" ReturnParameterName="driverList" ReturnTypeDescriptorPath="DriverList">
                    <SourceEntity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" />
                    <DestinationEntity Name="Driver" Namespace="SharePoint.DataConnector.VoyagerModel" />
                </Association>
            </MethodInstances>
        </Method>
        <!-- end related entity methods -->
    </Methods>

    <AssociationGroups>
        <AssociationGroup Name="DriverToLoadAssociation">
            <AssociationReference AssociationName="LoadToDriverAssociationNavigator" Reverse="true" />
        </AssociationGroup>
    </AssociationGroups>
</Entity>
  • 这是误导性的错误消息吗?
  • 我可以尝试对模型进行哪些更改?
  • 是否有任何网站设置会影响这一点?

感谢您的帮助!

I am generating a sharepoint 2010 bdc model xml file along with the entities and associated service classes from a model 1st LLBLGen framework/ C# .net 3.5 project. All was going well when suddenly I started receiving this error while deploying the BDC solution;

"Error 178 Error occurred in deployment step 'Add Solution': Cannot create more than '500' IEntity objects per ILobSystem object. "

It had been deploying fine (after modifying the registry to extend the timeout settings) with the current number of entities. I can't find any reference to IEntity object limitations in MSDN nor via google and have tried changing the generated xml file in various ways to test. If I remove an entity, the error shifts to the beginning of the next entity. Visual Studio builds the solution just fine with only warnings about the datetime datatype (known problem apparently).

I only have 59 entities defined. Some of which are in inheritance hierarchies and there are numerous FK relationships expressed in the model. It doesn't make any sense to me that I have too many entities in my model. I have plenty more I would like to add. I am including EstimatedInstanceCount="10000" on each entity but that doesn't seem to effect anything. In fact I believe it is the default. The model file is quite large but I will include the following single entity snippet for reference as to what code is being generated.

<Entity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" EstimatedInstanceCount="10000" Version="1.0.0.26">
    <Properties>
        <Property Name="Class" Type="System.String">SharePoint.DataConnector.VoyagerModel.LoadService, VoyagerModel</Property>
    </Properties>
    <Identifiers>
        <Identifier Name="Id" TypeName="System.Int32" />
        <!-- TODO: Change the name of the ID and if needed the TypeName of your identifier. -->
    </Identifiers>
    <Methods>
        <!-- start finder method -->
        <Method Name="ReadList">
        <!-- TODO: Change the name of the method if needed. -->
            <Parameters>
                <Parameter Direction="Return" Name="returnParameter">
                <TypeDescriptor TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel]]" IsCollection="true" Name="LoadList">
                    <TypeDescriptors>
                    <TypeDescriptor Name="Load" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <!-- TODO: Add TypeDescriptors when you add properties to Load. -->                         
                            <TypeDescriptor Name="OrderId" IsCollection="false" ReadOnly="false" TypeName="System.Int32" />
                            <TypeDescriptor Name="Status" IsCollection="false" ReadOnly="false" TypeName="System.String" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                    </TypeDescriptors>
                </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Type="Finder" ReturnParameterName="returnParameter" Default="true" Name="ReadList" DefaultDisplayName="Load List">
                <Properties>
                    <Property Name="RootFinder" Type="System.String">x</Property>
                </Properties>
                </MethodInstance>
            </MethodInstances>
        </Method>
        <!-- end finder method -->
        <!-- start specific finder method -->
        <Method Name="ReadItem">
            <Parameters>
                <Parameter Direction="In" Name="id">
                    <TypeDescriptor TypeName="System.Int32" IdentifierName="Id" Name="Id" IsCollection="false" />
                </Parameter>
                    <Parameter Direction="Return" Name="returnParameter">
                    <TypeDescriptor TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel" Name="Load">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <!-- TODO: Add TypeDescriptors when you add properties to Load. -->
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" />
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Type="SpecificFinder" ReturnParameterName="returnParameter" Default="true" Name="ReadItem" DefaultDisplayName="Read Load" />
            </MethodInstances>
        </Method>
        <Method Name="Create">
            <Parameters>
                <Parameter Name="returnLoad" Direction="Return">
                    <TypeDescriptor Name="ReturnLoad" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" />                      
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" />                      
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
                <Parameter Name="newLoad" Direction="In">
                    <TypeDescriptor Name="NewLoad" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" IdentifierName="Id" IsCollection="false" ReadOnly="false" TypeName="System.Int32" CreatorField="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" CreatorField="true" />                      
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" CreatorField="true" />                      
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Create" Type="Creator" ReturnParameterName="returnLoad" ReturnTypeDescriptorPath="ReturnLoad" />
            </MethodInstances>
        </Method>
        <Method Name="Delete">
            <Parameters>
                <Parameter Name="id" Direction="In">
                    <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Delete" Type="Deleter" />
            </MethodInstances>
        </Method>
        <Method Name="Update">
            <Parameters>
                <Parameter Name="Load" Direction="In">
                    <TypeDescriptor Name="Load" TypeName="SharePoint.DataConnector.VoyagerModel.Load, VoyagerModel">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierName="Id" IsCollection="false" ReadOnly="false" />
                            <TypeDescriptor Name="OrderId" TypeName="System.Int32" IsCollection="false" UpdaterField="true" />
                            <TypeDescriptor Name="Status" TypeName="System.String" IsCollection="false" UpdaterField="true" />
                            <TypeDescriptor Name="DriverId" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" IsCollection="false" />
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <MethodInstance Name="Update" Type="Updater" />
            </MethodInstances>
        </Method>
        <!-- start related entity methods -->

        <Method Name="LoadToOrders">
            <Parameters>
                    <Parameter Name="id" Direction="In">
                        <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" ForeignIdentifierAssociationEntityName="Load" ForeignIdentifierAssociationEntityNamespace="SharePoint.DataConnector.VoyagerModel" ForeignIdentifierAssociationName="LoadToOrdersAssociationNavigator" />
                    </Parameter>
                    <Parameter Name="orderList" Direction="Return">
                        <TypeDescriptor Name="OrderList" TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Order, VoyagerModel]]" IsCollection="true">
                            <TypeDescriptors>
                                <TypeDescriptor Name="Order" TypeName="SharePoint.DataConnector.VoyagerModel.Order, VoyagerModel">
                                    <TypeDescriptors>
                                        <TypeDescriptor Name="Id" IsCollection="false" ReadOnly="true" TypeName="System.Int32" IdentifierEntityName="Order" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                                    </TypeDescriptors>
                                </TypeDescriptor>
                            </TypeDescriptors>
                        </TypeDescriptor>
                    </Parameter>
            </Parameters>
            <MethodInstances>
                    <Association Name="LoadToOrdersAssociationNavigator" Type="AssociationNavigator" ReturnParameterName="orderList" ReturnTypeDescriptorPath="OrderList">
                        <SourceEntity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" />
                        <DestinationEntity Name="Order" Namespace="SharePoint.DataConnector.VoyagerModel" />
                    </Association>
            </MethodInstances>
        </Method>

        <Method Name="LoadToDriver">
            <Parameters>
                <Parameter Name="id" Direction="In">
                    <TypeDescriptor Name="Id" TypeName="System.Int32" IdentifierEntityName="Load" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" ForeignIdentifierAssociationEntityName="Load" ForeignIdentifierAssociationEntityNamespace="SharePoint.DataConnector.VoyagerModel" ForeignIdentifierAssociationName="LoadToDriverAssociationNavigator" />
                </Parameter>
                <Parameter Name="driverList" Direction="Return">
                    <TypeDescriptor Name="DriverList" TypeName="System.Collections.Generic.IEnumerable`1[[SharePoint.DataConnector.VoyagerModel.Driver, VoyagerModel]]" IsCollection="true">
                        <TypeDescriptors>
                            <TypeDescriptor Name="Driver" TypeName="SharePoint.DataConnector.VoyagerModel.Driver, VoyagerModel">
                                <TypeDescriptors>
                                    <TypeDescriptor Name="Id" IsCollection="false" ReadOnly="true" TypeName="System.Int32" IdentifierEntityName="Driver" IdentifierEntityNamespace="SharePoint.DataConnector.VoyagerModel" IdentifierName="Id" />
                                </TypeDescriptors>
                            </TypeDescriptor>
                        </TypeDescriptors>
                    </TypeDescriptor>
                </Parameter>
            </Parameters>
            <MethodInstances>
                <Association Name="LoadToDriverAssociationNavigator" Type="AssociationNavigator" ReturnParameterName="driverList" ReturnTypeDescriptorPath="DriverList">
                    <SourceEntity Name="Load" Namespace="SharePoint.DataConnector.VoyagerModel" />
                    <DestinationEntity Name="Driver" Namespace="SharePoint.DataConnector.VoyagerModel" />
                </Association>
            </MethodInstances>
        </Method>
        <!-- end related entity methods -->
    </Methods>

    <AssociationGroups>
        <AssociationGroup Name="DriverToLoadAssociation">
            <AssociationReference AssociationName="LoadToDriverAssociationNavigator" Reverse="true" />
        </AssociationGroup>
    </AssociationGroups>
</Entity>
  • Is this a misleading error message?
  • What changes could I try to the model?
  • Could there be any site settings effecting this?

Thanks for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜巴黎 2024-12-04 17:02:38

好的,那么显然没有太多人在使用大型企业级 BDC 模型?我很害怕...

我在 MSDN 中找到了我猜的答案。如果您访问 MSDN,您会发现 LobSystem 限制的详细信息,其中;

  • LobSystemInstances - 每个系统的最大实例数:300
  • 实体 - 每个系统的最大实体数:200
  • 关联 - 每个系统的最大关联数:1000

单独而言,这些不'听起来不像是个问题。我使用单个 Lob 实例,并且只有 59 个实体。平均每个关联有 8 个左右。但我不知道最大关联是如何计算的。关联的每一方都算作一个实例吗?对关联的每个引用都添加一个引用吗?

我很想听到一些关于 LobSystem 架构的更深入的见解。

同时,我将把我的模型分成单独的模式组,并修改我的模板以在 bdc 模型模式文件中创建关联,这些关联完全符合不同的 LobSystem 模型。

如果有人知道为什么这行不通,请立即阻止我!

OK, so apparently not too many people are working with large enterprise level BDC models? I'm scared...

I've found what I guess is my answer in MSDN. If you go to MSDN You'll find the LobSystem limitations detailed of which;

  • LobSystemInstances - Max instances per system: 300
  • Entities - Max entities per system: 200
  • Associations - Max associations per system: 1000

Individually, these don't sound like a problem. I am using a single Lob instance and I only have 59 entities. And on average 8 or so associations on each. But how the Max associations are calculated I have no idea. Does each side of the association count as an instance? Does each reference to the association add a reference?

I would love to hear some deeper insight into the LobSystem architecture.

In the mean time, I am going to split my model into separate schema groups and modify my templates to create associations in the bdc model schema file which fully qualify across different LobSystem models.

If anyone knows why this won't work, please stop me NOW!

糖粟与秋泊 2024-12-04 17:02:37

我实际上遇到了与您描述的相同的问题,当时也找不到太多有关它的信息。不过,您提到的 MSDN 文章适用于 SharePoint 2007 和 BDC 模型,而不适用于 Business Connectivity Services。

如果您只有 59 个实体,则在撤回解决方案后 LobSystem 可能不会完全删除。模型和实体确实会被删除,但 LobSystem 本身仍然存在。您可以从管理中心检查这一点。因此,您执行的每个新部署都会再次将实体添加到系统中并提高“实体计数”,从而比预期更快地达到 500 个限制。

尝试手动删除 LobSystem(通过管理中心),以便在部署期间也会创建新的 LobSystem。

I have actually ran in to the same problem as you described and couldn't find much information about it back then either. The MSDN article you referred to however is for SharePoint 2007 and the BDC model, not for the Business Connectivity Services.

If you only have 59 entities, it is likely the LobSystem isn't completely removed after retracting your solution. The model and entities do get removed, but the LobSystem itself will still exist. You can check this from Central Administration.Thus every new deployment you do will add the entities to the system again and raising the ´entity count´, reaching the 500 limitation much faster then expected.

Try removing the LobSystem manually (through Central Administration) so a new LobSystem will get created during deployment as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文