Clr靜態資料Table Valued函式

2021-09-08 22:14:28 字數 1793 閱讀 5106

前兩天insus.net實現乙個功能《在資料庫中提供唯讀資料》 ,在資料庫中為程式提供靜態資料。

它是在clr儲存過程實現。現想使用另外一種方式來解決。如果提供這些靜態數需要與其它資料結合join等,這樣象前面的儲存過程,有些不太好操作。那我們可以把它實現在table-valued function。

建立乙個model:

再建立乙個entity:

開啟sqlfunction類,編寫table-valued函式:

可複製**:

[sqlfunction(dataaccess =dataaccesskind.none,

fillrowmethodname = "

fillrow_1a",

tabledefinition = "

id tinyint,name nvarchar(30), [key] nvarchar(30)")

]public

static

ienumerable tvf_siteinfor()

private

static

void fillrow_1a(object source, out sqlbyte id, out sqlchars name, out

sqlchars key)

view code

部署至sql:

可複製**:

if

exists (select

*from sys.objects where name =

'tvf_siteinfor')

drop

function

tvf_siteinfor;

goif

exists (select

*from sys.assemblies where name =

'fruitclr')

drop

assembly fruitclr;

gocreate

assembly fruitclr

from

'e:\fruitclr.dll

'with permission_set =

safe;

gocreate

function

tvf_siteinfor()

returns

table

( id

tinyint

,

[name

]nvarchar(30

),

[key

]nvarchar(50))

as external name [

fruitclr

].userdefinedfunctions.tvf_siteinfor;

go

view code

執行結果:

Clr靜態資料Table Valued函式

前兩天insus.net實現乙個功能 在資料庫中提供唯讀資料 在資料庫中為程式提供靜態資料。它是在clr儲存過程實現。現想使用另外一種方式來解決。如果提供這些靜態數需要與其它資料結合join等,這樣象前面的儲存過程,有些不太好操作。那我們可以把它實現在table valued function。建立...

clr 元資料

clr相關編譯器編譯生成的託管模組由四部分組成 pe32或32 頭 clr頭 元資料 il 元資料和il 完全對應,保持一致 性。元資料有很多用途 vs的智慧型感知,自動補全 驗證保證型別安全 序列化 反序列化 垃圾 從元資料得知哪些根引用了物件 元資料報含兩類表,一種描述源 中定義的型別和成員 另...

靜態資料成員

lyndonmarioqqqq 1 靜態資料成員在定義或說明時前面加關鍵字static。靜態變數的定義 2 靜態成員初始化與一般資料成員初始化不同。靜態資料成員初始化的格式如下 資料型別 類名 靜態資料成員名 值 靜態變數的初始化 這表明 1 初始化在類體外進行,而前面不加static,這點需要注意...