2013-08-22 30 views
0

我想知道是否有人在SAP Business One中使用EntityFramework? 如果是,你如何處理保修。 SAP只允許通過其DI服務器API插入/更新/刪除,否則您將失去保修。所以如果我只允許選擇我只能使用Entity Framework讀取數據,那是對的嗎?在SAP Business One中使用EntityFramework時不會失去保修?

無論如何,你會推薦在SAP Business One中使用EntityFramework,還是會出現大量數據的性能問題?

問候。

+1

不是一個真正的編程問題。我建議通過OSS直接詢問SAP或詢問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

沒問題,你非常歡迎。從愛爾蘭回到你身邊。 –

相關問題