2016-12-30 81 views

回答

0

該代碼段假定您已爲模型實體創建類。這些課程並不是必需的,但他們確實有幫助。

你可以手工創建它們,這並不難。

在很多情況下,你可以從服務器端#C班,一個工具,我相信,在引用TempHire例子進行說明生成它們(代碼是有肯定的)。

更好的文檔將有所幫助,我們同意。

+0

謝謝貝爾先生的迴應。但我不妨利用這個機會作爲你的相關事情。 – sskasim

+0

謝謝貝爾先生的迴應。但我不妨利用這個機會問你一些其他相關的東西。我使用Breeze和Angular1x開發了幾個大型LoB應用程序,而無需在客戶端或服務器端執行任何UoW模式。微風追蹤自上次保存以來的所有更改,我可以隨意拒絕或提交更改。但是爲了讓Breeze和Angular2一起工作,打字稿看起來很安靜。我下載了TempHire代碼,但與我在Angular1x中做的相比,看起來希臘語和拉丁語。真的需要一些爲ng2和微風記錄的文件。 – sskasim

+0

@sskasim UoW模式只是在客戶端上管理數據集/任務/工作流的一種方法。至少應該將持久層抽象到某種爲UI組件提供明確定義的外觀的服務之後。隨着時間的推移,UoW模式已經證明了自己對於大中型應用非常穩健的設計模式。它不僅僅是EntityManager的外觀。 – superswiss

0

我最近在同一個問題上掙扎。我沒有使用工作單元,而是使用單個存儲庫 - dbContext,如John Papa的SPA Pluralsight示例1.x所示。在數據項目中引用模型項目編譯爲data.dll

試試這個:

(我這樣做是有角的CLI生成的項目) 採取從temphire例如整個工具文件夾並將其拖放到你項目文件夾。確保你已經按照metadatagenerator.exe文檔中的建議完成了句柄的npm安裝。

複製的package.json腳本:實體:元數據線和元數據的實體:

你需要這些,而且將不得不調整這兩種路徑到您的數據模型和DLL本身的名稱。

"metadata": ".\\tools\\bin\\MetadataGenerator.exe..\\CFSWH.Web\\bin\\Debug\\CFSWH.Data.dll -o metadata.json", 
"entities": "node ./tools/tsgen.js", 
"metadata-entities": "npm run metadata && npm run entities" 

正如您可能知道的那樣,dbContext中有一些棘手的問題。我的第一個失誤是由於忘記了,用一個典型的逆向工程的DbContext從我的SQL數據庫,沒有這些行:

public CFS_WHContext() : base(nameOrConnectionString: "CFS_WH") { } 

    static CFS_WHContext() 
    { 
     var type1 = typeof(System.Data.Entity.SqlServer.SqlProviderServices); 
     Database.SetInitializer<CFS_WHContext>(null); 
    } 

在Tools文件夾,你需要調整tsgen.js文件

tsGen.generate({ 
    inputFileName: './metadata.json', 
    outputFolder: './src/app/core/entities', 
    camelCase: true, 
    kebabCaseFileNames: true, 
    baseClassName: 'EntityBase' 
}); 

反映實體的正確輸出文件夾。您必須提前創建該文件夾。從temphire實體文件夾複製entity-base.ts文件(或者不要使用tsgen-core.js,建議不要這樣做,因爲它具有我認爲可能派上用場的entityState的擴展屬性)

Make確定你有正確的路徑,在package.json腳本中保存你的dll的bin文件夾。

假設你已經安裝了所有的微風文件安裝服務器和客戶端在temphire所示,包括這些依賴關係的package.json

"breeze-bridge-angular2": "^0.3.6", 
"breeze-client": "^1.6.0", 

現在去命令提示符並運行的元數據實體。 (更容易調試,如果你NPM在同一時間運行它們一個)

迅速把這一點很高興它擴大如果有什麼不明確。希望沃德或傑伊如果我以特別頭腦或誤導的方式完成或解釋了某些東西,那麼它們就會加入進來。

希望看到更多Breeze粉絲在此共享ng2體驗,直到Ward和Jay有時間記錄更多內容。微風是值得的努力。