下面直奔今天的主題——《建立實體類》。
一點小插曲:接觸abp框架之前,一直都是使用的ef的dbfirst,在那種模式下,我們只要設計好資料庫,然後直接通過模板就生成了實體層,甚至都沒怎麼留意實體層的**是什麼樣子。現在要使用codefirst,就要反過來,先要寫**了,真有點不適應。好吧,為了學好abp,也要硬著頭皮看看這其中的**到底啥模樣,但我這裡不一定一行一行地敲哦,畢竟我這個系統就20多個實體左右,說不定以後還會增加,乙個乙個敲太費時間了。格外注意哦:在操作**之前,先開啟nuget工具,還原所有沒有載入成功的程式集。
abp框架提供了乙個定義了id屬性的entity類。我們可以通過繼承此類來讓自己的實體類擁有這個屬性,注意一點的是,這個id是int 32型別的。如果你的類的id型別不是該型別,不要緊,abp框架還提供了這個類的泛型entity,這裡的t可以是任何你想要的型別。
我這裡有很多之前已經設計好的表,然後我直接通過動軟**生成器從資料庫中生成這些實體類。至於使用動軟**生成器的詳細步驟,不是這裡討論的重點,有興趣的園友可以自己動手找一下這方面的資料。
在生成**之前,我必須定義乙個實體類的模板entity.cmt,我的模板**如下:
c#" hostspecific="接下來就是操作動軟**生成器生成大量的實體類了。true
" #>
.cs" #>
tablehost host =(tablehost)(host);
host.fieldlist.sort(codecommon.comparebyintorder);
#>
using
system;
using
abp.domain.entities;
namespace noah.chargestation.entities 0) #> #>
public
class
:entity
#>
public()}
}
生成之後,將**放到專案中的領域層,下圖就是我生成的**了。
說明:用模版生成的解決方案,其中的每個專案預設都只是以"公司名.專案名"為命名空間的字首,比如,我這裡實體類的預設命名空間是「noah.chargestation.entities」,但我更喜歡這種命名方式「noah.chargestation.core.entities」。所以,自己要手動改一下專案的預設命名空間,以後新增的檔案都會更正了,但之前已經建立的檔案還要手動修改。
LINQ to SQL 建立實體類
1 使用linq to sql 建立實體類 使用linq to sql時,需要首先建立用於對映資料庫物件的模型,也就是實體類。在執行時,linq to sql 根據linq表示式或查詢運算子生成sql語句,傳送到資料庫進行操作。資料庫返回後,linq to sql負責將結果轉換成實體類物件。建立實體...
建立單例實體類
package xiancheng 單例建立的方式 1.懶漢式 2.餓漢式 3.利用內部類的方式 author user public class lianxi18 加入內部類的形式 類在使用的形式才載入 延緩載入時間 author user class demo03 private demo03 ...
字典實體類 DictionaryEntry類
dictionaryentry類是乙個字典集合,主要包含的內容是鍵 值對。這種組合方式可以方便地定位資料,其中的 鍵 具備唯一性,類似於資料庫中的 id 乙個id對應一天記錄,而乙個鍵只對應乙個值。使用dictionaryenry類可以方便地設定和檢索資料。雖然被稱為字典集合,但dictionary...