Linq實體繼承簡單描述

2022-05-10 17:42:10 字數 1881 閱讀 7649

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 正如你所看到...