У меня проблема с обновлением старой модели данных до текущей модели. У него есть несколько слоев, которые могут быть причиной проблемы, и я изо всех сил пытаюсь определить, в чем проблема.
У меня есть абстрактная сущность «Клиент», которая содержит общие отношения с номерами телефонов, адресами электронной почты и т. д. В моей старой модели были отношения, в которых клиент мог владеть 1 свойством (но у свойства могло быть много владельцев) или клиент мог быть арендатором. в аренде (но в аренде может быть много арендаторов). Теперь я обновил модель таким образом, что клиент может владеть многими свойствами и быть частью многих договоров аренды.
Конкретные объекты клиента в основном добавляют различную информацию об именах к реферату, поэтому существуют подклассы «Индивидуальный», «Бизнес», «Правительство» и «Импорт» (импортированные из других систем).
Я ожидал, что отношение «один ко многим», установленное в старой модели данных, будет добавлено в качестве первого экземпляра в новое отношение «многие ко многим» в новой модели данных. К сожалению, обновленное хранилище данных, по-видимому, не содержит никаких отношений в новых конкретных клиентах для свойств или аренды.
Старая модель:
Client{
Property<<-->Property.Owners
Tenancy<<-->Lease.Tenants
}
ImportClient:Client{
name:string
}
Новая модель:
Client{
Properties<<-->>Property.Owners
Tenancies<<-->>Lease.Tenants
}
ImportClient:Client{
name:string
}
Итак, теперь о возможных проблемах, которые я вижу. Во-первых, имена отношений в сущности «Клиент» изменились с «Недвижимость» на «Свойства» и с «Аренда» на «Аренда». Итак, я добавил модель сопоставления. Модель не добавляла сопоставление сущностей для ClientToClient автоматически (только для конкретных классов), поэтому я попытался добавить его самостоятельно. Однако я не уверен, как настроить выражение значения, поэтому на данный момент это:
FUNCTION($manager,"destinationInstancesForEntityMappingName:sourceInstances:","PropertyToProperty","$source.Property")
Если я попытаюсь добавить сопоставление к конкретным классам (таким образом, ImportClientToImportClient), кажется абсолютно невозможным правильно установить значения отношений (в основном это запрещено редактором).
Поэтому я подозреваю, что он либо не может передать отношения, потому что, когда выборка выполняется для объекта Client, он ничего не возвращает (всякий раз, когда я пробовал, это было так), или я просто не получаю правильное выражение значения.
Помощь будет очень признательна, потому что на данный момент это единственная проблема, блокирующая выпуск моего основного обновления для приложения.