linq有很多值得學習的地方,這裡我們主要介紹linq實體繼承的定義,包括介紹linq to sql支援實體的單錶繼承等方面。
linq實體繼承的定義
linq to sql支援實體的單錶繼承,也就是基類和派生類都儲存在乙個表中。對於論壇來說,帖子有兩種,一種是主題貼,一種是回覆帖。那麼,我們就先定義帖子基類:
[table(name
= "topics"
)]public class topic
[column(name
= "topictype"
, dbtype
= "tinyint"
, canbenull
= false
)]
public int topictype
[column(name
= "topictitle"
, dbtype
= "varchar(50)"
, canbenull
= false
)]
public string topictitle
[column(name
= "topiccontent"
, dbtype
= "varchar(max)"
, canbenull
= false
)]
public string topiccontent
} public class newtopic : topic
} public class reply : topic
[column(name
= "parenttopic"
, dbtype
= "int"
, canbenull
= false
)]
public int parenttopic
} 對於主題貼,在資料庫中的topictype就儲存為0,而對於回覆貼就儲存為1。回覆貼還有乙個相關字段就是回覆所屬主題貼的topicid。那麼,我們怎麼告知linq to sql在topictype為0的時候識別為newtopic,而1則識別為reply那?只需稍微修改一下前面的topic實體定義:
[table(name
= "topics"
)]
= 0, type
= typeof
(newtopic), isdefault
= true
)]
= 1, type
= typeof
(reply))]
public class topic
[column(name
= "topictype"
, dbtype
= "tinyint"
, canbenull
= false
, isdiscriminator
= true
)]
public int topictype
[column(name
= "topictitle"
, dbtype
= "varchar(50)"
, canbenull
= false
)]
public string topictitle
[column(name
= "topiccontent"
, dbtype
= "varchar(max)"
, canbenull
= false
)]
public string topiccontent
}
Linq實體關係簡單概述
本文向大家介紹linq實體關係,可能好多人還不了解linq實體關係,沒有關係,看完本文你肯定有不少收穫,希望本文能教會你更多東西。linq實體關係的定義 比如我們的論壇分類表和論壇版塊表之間就有關係,這種關係是1對多的關係。也就是說乙個論壇分類可能有多個論壇版塊,這是很常見的。定義linq實體關係的...
spring data jpa實體繼承
spring jpa中我們要將sql對映到物件,尤其是在spring boot這種高度自動化的環境下使用,大量的最優目錄結構與命名規則可以大大降低配置,約定大於配置貫穿其中。例如我們定義查詢dao,繼承jparepository即可。然後返回的物件,我們可以定義model entity table ...
2 3 實體繼承
你可以使用實體繼承模式減少 中的重複。最簡單和最有效的是具體的表繼承。例如,你有photo,question,post三個實體 entity export class photo entity export class question entity export class post 正如你所看到...