Pivot Script Producer - найдена ошибка
Извините, что должен представить через этот канал. Функция отчета о проблеме на вашем сайте не позволит мне отправить мой запрос. Ошибка прилагается:
SoftFluent, SoftFluent, we have a problem! An unidentified error has occured
Проблема: сбой производителя сценариев Pivot
Воспроизводимый: да
Вариант использования: базовый вариант использования имеет 2 объекта с одинаковыми именами (концепция одна и та же, но распространяется на другое пространство имен и схему), но ссылается на третий объект.
После расширения SqlPivotProducer кажется, что ссылочная таблица найдет свои ограничения (1 PK и 2 FK), но один из 2 FK будет иметь нулевую ReferenceTable, ведущую к нулевому указателю.
Шаги для воспроизведения: представьте эту модель ниже и попробуйте сгенерировать Pivot Script File.
<cf:project defaultNamespace="Model1" xmlns:cf="http://www.softfluent.com/codefluent/2005/1" xmlns:cfx="http://www.softfluent.com/codefluent/modeler/2008/1" xmlns:cfsps="http://www.softfluent.com/codefluent/producers.sqlpivotscript/2013/1" xmlns:cfps="http://www.softfluent.com/codefluent/producers.sqlserver/2005/1" xmlns:cfspsi="http://www.softfluent.com/codefluent/producers.ixcyssqlpivotscript/2016/1" createDefaultMethodForms="true" createDefaultApplication="false" createDefaultHints="false">
<cf:import path="Default.Surface.cfp" />
<cf:entity name="Entity" schema="SchemaA" namespace="Model1.NamespaceA" persistenceName="Entity">
<cf:property name="EntityId" key="true" />
<cf:property name="EntityC" typeName="{0}.NamespaceC.EntityC" />
</cf:entity>
<cf:entity name="Entity" schema="SchemaB" namespace="Model1.NamespaceB" persistenceName="Entity">
<cf:property name="EntityId" key="true" />
<cf:property name="EntityC" typeName="{0}.NamespaceC.EntityC" />
</cf:entity>
<cf:entity name="EntityC" namespace="Model1.NamespaceC">
<cf:property name="EntityCId" key="true" />
</cf:entity>
<cf:producer name="SQL Server Pivot Script" typeName="CodeFluent.Producers.SqlServer.SqlPivotScriptProducer, CodeFluent.Producers.SqlServer">
<cf:configuration targetDirectory="..\Database1" connectionString="Server=127.0.0.1;Database=EntityA;Integrated Security=true;Application Name=Application;" cfx:targetProject="..\Database1\Database1.sqlproj" cfx:targetProjectLayout="Update" />
</cf:producer>
<cf:producer enabled="false" name="SQL Server" typeName="CodeFluent.Producers.SqlServer.SqlServerProducer, CodeFluent.Producers.SqlServer">
<cf:configuration produceViews="true" targetDirectory="..\Database1" connectionString="Server=127.0.0.1;Database=EntityA;Integrated Security=true;Application Name=FedPeche33_Association;" cfx:targetProject="..\Database1\Database1.sqlproj" cfx:targetProjectLayout="Update, DontRemove" produceSchemas="true" />
</cf:producer>
<cf:producer enabled="false" name="Asp.Net Identity" typeName="CodeFluent.Producers.SqlServer.IxcysSqlPivotScriptProducer, SqlServerPivotIxcys">
<cf:configuration targetDirectory="..\Database1" cfx:targetProject="..\Database1\Database1.sqlproj" cfx:targetProjectLayout="Update" connectionString="Server=127.0.0.1;Database=EntityA;Integrated Security=true;Application Name=FedPeche33_Association;" />
</cf:producer>
</cf:project>
Захваченная трассировка стека:
System.NullReferenceException was unhandled
Message: An unhandled exception of type 'System.NullReferenceException' occurred in CodeFluent.Producers.SqlServer.dll
Additional information: Object reference not set to an instance of an object.
В настоящее время я решил бы переименовать мои объекты, чтобы решить эту проблему. Спасибо за вашу поддержку
У меня также было это неблокирующее исключение в моей среде при отладке генерации сводного сценария:
DateTimeInvalidLocalFormat occurred
Message: Managed Debugging Assistant 'DateTimeInvalidLocalFormat' has detected a problem in 'C:\Program Files (x86)\SoftFluent\CodeFluent\Modeler\CodeFluent.Build4.exe'.
Additional information: A UTC DateTime is being converted to text in a format that is only correct for local times. This can happen when calling DateTime.ToString using the 'z' format specifier, which will include a local time zone offset in the output. In that case, either use the 'Z' format specifier, which designates a UTC time, or use the 'o' format string, which is the recommended way to persist a DateTime in text. This can also occur when passing a DateTime to be serialized by XmlConvert or DataSet. If using XmlConvert.ToString, pass in XmlDateTimeSerializationMode.RoundtripKind to serialize correctly. If using DataSet, set the DateTimeMode on the DataColumn object to DataSetDateTime.Utc.