天天看點

建立實體類

上一篇部落格,我們使用ABP模闆建立了一個解決方案。現在,打開該解決方案,目錄圖如下:

建立實體類

下面直奔今天的主題——《建立實體類》。

一點小插曲:接觸ABP架構之前,一直都是使用的EF的DBFirst,在那種模式下,我們隻要設計好資料庫,然後直接通過模闆就生成了實體層,甚至都沒怎麼留意實體層的代碼是什麼樣子。現在要使用CodeFirst,就要反過來,先要寫代碼了,真有點不适應。好吧,為了學好ABP,也要硬着頭皮看看這其中的代碼到底啥模樣,但我這裡不一定一行一行地敲哦,畢竟我這個系統就20多個實體左右,說不定以後還會增加,一個一個敲太費時間了。格外注意哦:在操作代碼之前,先打開Nuget工具,還原所有沒有加載成功的程式集。

ABP架構提供了一個定義了Id屬性的Entity類。我們可以通過繼承此類來讓自己的實體類擁有這個屬性,注意一點的是,這個Id是Int 32類型的。如果你的類的Id類型不是該類型,不要緊,ABP架構還提供了這個類的泛型Entity<T>,這裡的T可以是任何你想要的類型。

我這裡有很多之前已經設計好的表,然後我直接通過動軟代碼生成器從資料庫中生成這些實體類。至于使用動軟代碼生成器的詳細步驟,不是這裡讨論的重點,有興趣的園友可以自己動手找一下這方面的資料。

建立實體類

在生成代碼之前,我必須定義一個實體類的模闆Entity.cmt,我的模闆代碼如下:

建立實體類
建立實體類

接下來就是操作動軟代碼生成器生成大量的實體類了。

建立實體類

生成之後,将代碼放到項目中的領域層,下圖就是我生成的代碼了。

建立實體類

說明:用模版生成的解決方案,其中的每個項目預設都隻是以"公司名.項目名"為命名空間的字首,比如,我這裡實體類的預設命名空間是“Noah.ChargeStation.Entities”,但我更喜歡這種命名方式“Noah.ChargeStation.Core.Entities”。是以,自己要手動改一下項目的預設命名空間,以後添加的檔案都會更正了,但之前已經建立的檔案還要手動修改。

生成實體類的工作就完成了,下一篇我們建立DbContext。

本文轉自tkbSimplest部落格園部落格,原文連結:http://www.cnblogs.com/farb/p/4923137.html,如需轉載請自行聯系原作者