c 使用dynamic關鍵字傳輸資料的用法

2022-02-21 03:08:22 字數 1114 閱讀 7477

在實際開發中,特別是在orm框架的基礎下,我們返回的資料都是強型別的實體物件。如果是單錶查詢我們就可以直接返回對應的實體,如果是多表聯合查詢,我們可能就需要各個表中都返回一部分字段,組成乙個新的資料集合。那麼在這種情況下我們該怎麼辦呢?

傳統的方式是我們定義乙個新的實體類,作為返回的符合資料的載體。而今天我將介紹一種新的方式,在不用重新定義傳輸實體的基礎上,解決這個問題。

1.首先定義測試資料實體,模擬對應的兩張關聯表:

public

class

student

public

string name

public

int age

}public

class

address

public

int student_id

public

string city

}

2.資料測試方法如下:

public

string

dynamictest()

,new student(),

new student(),

new student()

};list

addresss = new list() ,

new address(),

new address(),

new address()

};dynamic data=(from s in

students

join a

inaddresss

on s.id equals a.student_id

where s.age>12

select

new ).tolist();

foreach (var item in

data)

return"s

";}

注意:dynamic 對應的型別執行時才確定,並且生成的是內部類,所以只能在當前程式集中使用,使用dynamic在返回json的場景中使用比較方便。

C 關鍵字使用

關鍵字就是c 中被規定了用途的一些單詞。關鍵字都是小寫字母組成的,在c 中嚴格區分大小寫。using 匯入命名空間要使用的類關鍵字 namespace 命名空間關鍵字 class 類關鍵字 static 靜態的 void 無返回值 資料型別 char 字元型別,儲存用單引號 括起來的字元,char ...

簡述C 中關鍵字var和dynamic的區別

c 中關鍵字var和dynamic的區別如下 1 var申明的變數必須初始化,dynamic申明的變數無需初始化。2 var關鍵字只能在方法內部申明區域性變數,dynamic關鍵字可用於區域性變數,字段,引數。3 表示式不能轉型為var,但可以轉型為dynamic。4 用var關鍵字宣告變數時,編譯...

關於AS3中的dynamic 關鍵字

指定在執行時類的例項可以擁有新增的動態屬性。如果使用某個類上的dynamic屬性,您可以在執行時向該類的例項新增屬性。未標記為dynamic的類被視為密封類,這意味著不能向該類的例項新增屬性。如果某個類是密封的 非動態 則嘗試獲得或設定該類例項中的屬性就會導致錯誤。如果將編譯器設定為嚴格模式並在建立...