本文向大家介紹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多對多 設計典型的利...