Я создаю XML-файл модели BDC sharepoint 2010 вместе с сущностями и связанными классами обслуживания из модели 1st LLBLGen framework / C # .net 3.5.Все шло хорошо, когда я неожиданно начал получать эту ошибку при развертывании решения BDC;
" Ошибка 178 Ошибка на этапе развертывания« Добавить решение »: не удается создать более 500 объектов IEntity на ILobSystemobject."
Было выполнено точное развертывание (после изменения реестра для расширения параметров времени ожидания) с текущим числом объектов.Я не могу найти ссылки на ограничения объектов IEntity ни в MSDN, ни через Google, и попытался изменить сгенерированный XML-файл различными способами для тестирования.Если я удаляю сущность, ошибка переходит к началу следующей сущности.Visual Studio прекрасно строит решение, используя только предупреждения о типе данных datetime (очевидно, известная проблема).
У меня определено только 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>
- Это вводящее в заблуждение сообщение об ошибке?
- Какие изменения можно попробовать в модели?
- Могут ли быть какие-либо настройки сайта, влияющие на это?
Спасибо за любую помощь!