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...