在實際開發中,特別是在orm框架的基礎下,我們返回的資料都是強型別的實體物件。如果是單錶查詢我們就可以直接返回對應的實體,如果是多表聯合查詢,我們可能就需要各個表中都返回一部分字段,組成乙個新的資料集合。那麼在這種情況下我們該怎麼辦呢?
傳統的方式是我們定義乙個新的實體類,作為返回的符合資料的載體。而今天我將介紹一種新的方式,在不用重新定義傳輸實體的基礎上,解決這個問題。
1.首先定義測試資料實體,模擬對應的兩張關聯表:
publicclass
student
public
string name
public
int age
}public
class
address
public
int student_id
public
string city
}
2.資料測試方法如下:
publicstring
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的類被視為密封類,這意味著不能向該類的例項新增屬性。如果某個類是密封的 非動態 則嘗試獲得或設定該類例項中的屬性就會導致錯誤。如果將編譯器設定為嚴格模式並在建立...