Linq實體關係簡單概述

2022-05-10 17:40:37 字數 2438 閱讀 1465

本文向大家介紹linq實體關係,可能好多人還不了解linq實體關係,沒有關係,看完本文你肯定有不少收穫,希望本文能教會你更多東西。

linq實體關係的定義

比如我們的論壇分類表和論壇版塊表之間就有關係,這種關係是1對多的關係。也就是說乙個論壇分類可能有多個論壇版塊,這是很常見的。定義linq實體關係的優勢在於,我們無須顯式作連線操作就能處理關係表的條件。

首先來看看分類表的定義:

[table(name

= "categories"

)]public class boardcategory

[column(name

= "categoryname"

, dbtype

= "varchar(50)"

, canbenull

= false

)]

public string categoryname

private entityset<

board

>

_boards;

[association(otherkey

= "boardcategory"

, storage

= "_boards"

)]

public entityset<

board

>

boards

set

} public boardcategory()

} categoryid和categoryname的對映沒有什麼不同,只是我們還增加了乙個boards屬性,它返回的是board實體集。通過特性,我們定義了關係外來鍵為boardcategory(board表的乙個字段)。然後來看看1對多,多端版塊表的實體:

[table(name

= "boards"

)]

public class board

[column(name

= "boardname"

, dbtype

= "varchar(50)"

, canbenull

= false

)]

public string boardname

[column(name

= "boardcategory"

, dbtype

= "int"

, canbenull

= false

)]

public int boardcategory

private entityref<

boardcategory

>

_category;

[association(thiskey

= "boardcategory"

, storage

= "_category"

)]

public boardcategory category

set

} } 在這裡我們需要關聯分類,設定了category屬性使用boardcategory欄位和分類表關聯。

linq實體關係的使用

好了,現在我們就可以在查詢句法中直接關聯表了(資料庫中不一定要設定表的外來鍵關係):

response.write("-------------查詢分類為1的版塊-------------<

br/>

");

var query1

= from

b in ctx.boards where b.category.categoryid

== 1 select b;

foreach (board b in query1)

response.write(b.boardid + " " + b.boardname + "<

br/>

");

response.write("-------------查詢版塊大於2個的分類-------------<

br/>

");

var query2

= from

c in ctx.boardcategories where c.boards.count>2 select c;

foreach (boardcategory c in query2)

response.write(c.categoryid + " " + c.categoryname + " " + c.boards.count + "<

br/>

");

Linq實體繼承簡單描述

linq有很多值得學習的地方,這裡我們主要介紹linq實體繼承的定義,包括介紹linq to sql支援實體的單錶繼承等方面。linq實體繼承的定義 linq to sql支援實體的單錶繼承,也就是基類和派生類都儲存在乙個表中。對於論壇來說,帖子有兩種,一種是主題貼,一種是回覆帖。那麼,我們就先定義...

JPA實體關聯關係對映之概述

一 簡介 首先來說關聯關係是物件導向分析,物件導向設計最重要的部分,jpa是完全可以通過對映來簡化資料持久化到資料,和 hibernate 一樣,jpa 的關聯關係也分為兩種,一種是單向關聯,一種是雙向關聯 單向關聯 只需要單向訪問關聯端,比如說 我們只能通過某一學期訪問這學期的課程,而不能通過課程...

mysql實體 mysql實體關係

實體關係 表設計1 1 兩個實體表內,存在相同的主鍵字段 如果記錄的主鍵值等於另乙個關係表內記錄的主鍵值,則兩條記錄的對應為一一對應 優化上稱為垂直分割 1 n乙個實體對應多個其他實體 乙個班級對應多個學生 設計 在多的那段增加乙個字段,用於指向該實體所屬的另外實體的標識 m n多對多 設計典型的利...