2013-08-22 4 views
0

Я хотел бы узнать, использует ли кто-то EntityFramework в SAP Business One? Если да, то как вы справляетесь с гарантией. SAP только позволяет вставлять/обновлять/удалять через свой API-интерфейс DI, иначе вы потеряете гарантию. Так что, если мне разрешено выбирать, я могу использовать только Entity Framework для чтения данных, это правильно?Использование EntityFramework с SAP Business One без потери гарантии?

В любом случае вы бы рекомендовали использовать EntityFramework с SAP Business One или есть проблемы с производительностью с большим количеством данных?

Приветствия.

+1

Не совсем вопрос программирования. Я предлагаю обратиться к SAP напрямую через OSS или запросить SCN. Это говорит о том, что SAP говорит нам, что ваше предположение верно, мы можем читать из базовой БД, а не что-то еще (это для ERP, а не B1, поэтому вам стоит дважды проверить) –

ответ

4

Вы абсолютно не можете использовать ничего, кроме DI, чтобы вставлять, обновлять или удалять данные из базы данных SAP Business One! Как тот, кто провел последние 9 лет, работая с SAP в качестве партнера, мой честный совет: даже не пробовал. Как только вы разорвете базу данных, SAP ее не поддержит, и вы в конечном итоге заплатите кому-то много денег, чтобы ее исправить ...

Оставляя в стороне вопросы гарантии, даже самую простую операцию в SBO (допустим, добавление единого счета с 1 строкой) приводит к обновлению объектной модели, охватывающей не менее 10 или 11 «основных» таблиц и их собственных связанных наборов «младших» таблиц .... запуск SQL-профилировщика и создание счета-фактуры в SBO, и посмотрите, сколько SQL сгенерировано, а не только вставки, но также выбирает ... плюс бизнес-логика того, что SAP делает со всеми этими данными, полностью скрыта от вас, вызывающего. У вас есть очень мало шансов есть нулевой шанс моделирования это правильно себя ....


Что касается использования EF для чтения данных из базы данных, я снова не буду беспокоить - большая часть данных, которые вы видите в SAP-клиенте не вынимаются правильно определенными отношениями, что означает, что ваши модели никогда не будут совершенно правильными. Лучше болеть простым старым SQL, вы можете сопоставить эти данные с вашими собственными моделями памяти.

В этом отношении SQL Profiler - ваш друг; ничто не даст вам 100% точно, как SBO делает это, но он по крайней мере даст вам доступ к тем же данным, которые он использует, выполняя операции на клиенте и просматривая результирующие запросы.

Также необходимо исправить одно очко - есть два способов сделать это. Один из них - это сервер DI, который является сервисом на основе XML, а другой - через DIAPI, который представляет собой библиотеку на основе COM, которую вы можете связать с вашим проектом, и позволяет работать более объектно-ориентированным способом (для некоторых, чрезвычайно ограниченные значения «объектно-ориентированные»!)

+0

большое спасибо за этот подробный ответ. это действительно помогло мне и разъяснило некоторые вопросы. Привет из Германии – darkdog

+0

Нет проблем, вы очень желанны. назад к вам из Ирландии. –

Смежные вопросы