Как добавить набор строк в Entity?

Это простое требование: я хочу добавить набор строк в учетные записи в Dynamics 2011. Строка является внешним идентификатором для других систем. Все строки должны быть уникальными для всех сущностей.

Единственный способ, который я вижу для этого, — определить строки как объекты (скажем, «ExternalCode») и установить отношение 1:N между Account и ExternalCode, но это кажется невероятно избыточным. Кроме того, определение как сущности настаивает на том, чтобы я дал «Внешнему коду» имя, которого у него явно нет.

Каков наилучший способ реализовать это?

Спасибо

Райан


person Ryan    schedule 23.03.2012    source источник


Ответы (2)


Это может показаться избыточным, но думайте о сущностях, как если бы это были таблицы. Вы бы создали вторую таблицу внутри MS SQL? Если это так, то вы должны создать другую сущность. CRM очень хорошо оптимизирована, поэтому я не стал бы беспокоиться об этих дополнительных накладных расходах.

Кроме того, вы всегда можете использовать GUID в другой системе.

person Paul Way    schedule 26.03.2012

Как эти уникальные ссылки попадают в вашу CRM-систему. Вы импортируете данные из каждой из внешних систем? Если да, то я предполагаю, что ссылки уникальны во внешней системе? После импорта вы хотите убедиться, что ни одна из этих ссылок не дублируется?

Кроме того, о скольких строках мы здесь говорим? Если это небольшое число, то имеет смысл просто определить атрибуты для управления ими и проверки дубликатов одним из следующих способов:

1) Некоторый javascript можно использовать для создания запроса oData для подтверждения «уникальности» вашего внешнего ссылочного номера до того, как запись будет зафиксирована. (Но этого недостаточно, так как записи будут создаваться и в системе программно).

2) Плагин, который срабатывает при предварительном создании, чтобы снова запросить у системы другие записи, которые соответствуют тем же уникальным ссылочным номерам, и соответствующим образом обрабатывает событие совпадения.

Однако, если их много, может иметь смысл определить отдельный объект, как вы говорите, а затем, как указано выше, вы можете связать новую «справочную запись» с объектом через плагин, но опять же, проверьте, запись уже существует, а затем либо обработать исключение, либо просто связать с существующей записью, если это уместно.

Я думаю, что ключевой момент — это то, что вы хотите сделать, если найдете дубликат, и то, как эти записи будут создаваться в системе (например, через пользовательский интерфейс или программно или, возможно, и то, и другое).

Рад предоставить дополнительную помощь, если у вас есть более подробная информация.

person Philip Rich    schedule 23.03.2012