EF實體框架模型使用Linq獲取資料庫資料

2021-07-07 10:22:50 字數 1665 閱讀 2602

ef實體框架模型對於處理資料庫提供了很大的方便。

ef支援多種資料庫,如sql/orcal/db2等;能夠與asp.net/wpf/wcf等很好的整合。

此外最方便的就是可以用linq語句實現資料庫操作。

2、然後開始用linq查詢獲取資料庫資料,**如下:

public liststationproductefficiencies;

publiciqueryable> stationdailygroup;

public void getfiltedprodefficiency(string factory, string line, string shift, string startday, string endday)

其中,iqueryable型別是是專門用於資料庫查詢分組後的資料儲存。(注意,當你自己的處理函式用到了對多個資料表的 iqueryable資料的操作,會報錯:資料庫已經開啟了乙個表,等待當前表連線關閉。

)取資料的時候沒問題,上面那個函式裡面,後面還可以再接多個查詢別的表的分組操作。

資料庫查詢中還會存在資料表聯合查詢的情況,聯合查詢的linq語句如下:

public dictionary> stationrejectgroup;

var rejecttemp = from pr in productionrejects   

//資料表productionrejects 和productionefficiencies是相互關聯的

join pe in productionefficiencies on pr.efficiencyid equals pe.efficiencyid

where

pe.sitecode.length > 5 &&

(factory == select_all || pe.sitecode.indexof(factory) >= 0) &&

(line == select_all || pe.sitecode.indexof(line) >= 0) &&

(shift == select_all || pe.shiftcode.indexof(shift) >= 0) &&

string.compare(pe.shiftcode.substring(0, 8), startday) >= 0 &&

string.compare(pe.shiftcode.substring(0, 8), endday) <= 0 &&

pe.lotno.trim().toupper() != testlotno.trim().toupper()

select new ;   //聯合查詢後抽取自己感興趣的字段,我是定義了structrejectdata用於儲存我需要的字段

var stationrejectgrouptemp = from re in rejecttemp group re by re.station;  //stationrejectgrouptemp取出來的分組後的資料

stationrejectgroup = new dictionaryrejectdata>>();  //另訪問到的資料,便於後面做任何操作

//下面是另存資料的動作

foreach (var group in stationrejectgrouptemp)

最後說明一下,在web.config配置檔案裡要正確配置資料庫的連線字串,就可以取到資料了。 

EF實體框架之CodeFirst一

上面瞎逼逼半天,實際上今天是想大致演示下code first的用法,做簡單的增刪改查。一 model 首先是建立了乙個控制台應用程式efcodefirstdemo,又建立了乙個存放model的類庫efcodefirstmodels,以及乙個與資料庫有關係的類庫efcodefirstdataacces...

EF實體框架之CodeFirst八

前面七篇基本把code first學習了一下,不過code first中會出現乙個問題,就是資料遷移的問題。一 資料準備 還是在前面的demo上修改,這次使用province和city類。public class province public string provincename public ...

實體框架EF中的CodeFirst學習總結

codefirst 通過寫 的方式建立實體類,並且給實體加上特性標籤,並且標註各個實體間的關係,需要引入兩個核心的dll程式集 entityframework syste.data.entity 如何表現兩個實體間的關係?比如 classinfo和studentinfo是一對多的關係 在classi...