在.net開發中,ef4以前的版本以及linq to sql都不支援complex資料型別,ef4終於支援complex型別的資料了,這意味著微軟的ef框架朝領域驅動方面又邁了一大步。
複雜的資料型別其實就是乙個poco類,想想曾幾何時,我們想在開發時想設計乙個使用者資訊類,我們寫的類不得不包括以下資訊:
public class userinfo;
public string identity;
public string firstname;
public string lastname;
我們的姓名一般都是包括firstname和lastname組成。我們現在改成複雜的資料型別看看是如何實現的
public class userinfo;
public string identity;
public name name;
public class name;
public string lastname;
1、開啟「northwind.edmx」,點選product-》新增-》複雜型別。
2、開啟模型瀏覽器,為複雜型別新增標量屬性,如下圖:
為詳細資料類新增如下屬性:
public
int16 unitsinstock
public
int16 unitsonorder
public
int16 reorderlevel
3、在工程northwindmodel中新增inventorydetail.cs檔案,**如下;
view code
1public
class
inventorydetail 24
public
int16 unitsonorder
5public
int16 reorderlevel 6}
4、更改product.cs**,增加複雜型別「inventorydetail」如下:
view code
1public
class
product24
public
string
productname
5public
intsupplierid
6public
string
quantityperunit
7public
decimal
unitprice
8public inventorydetail inventorydetail
9public
bool
discontinued
10public
category category 11}
注意紅色的部分。
現在可以在測試中用如下**進行查詢庫存詳細資料了:
var outofstockproducts = from c in context.products
where c.inventorydetail.unitsinstock == 0
select c;
POCO系列之 延遲載入
當我們進行查詢的時候,哪些關係的資料將會被載入到記憶體呢?所有相關的物件都需要嗎?在一些場合可能有意義,例如,當查詢的實體僅僅擁有乙個相關的子實體,但是,多數情況下,你可能只需要載入部分資料,或者你喜歡的話,載入更多的資料。在ef4中支援延遲載入功能,那poco是否也支援延遲載入呢。這個答案是肯定的...
辦公軟體系列 之excel應用2
本篇小部落格為excel應用2 問題描述 想在單元格內擷取需要的字串 例子1 字串為 csdn csdn123 csdn123456 擷取第乙個csdn,公式為 mid a1,1,4 具體公式含義為 mid text,start num,num chars text代表乙個文字字串 start nu...
移動應用開發系列 2 mysql
經過一番折騰,apache終於能使用了,接下來記錄下mysql的常用命令。環境 ubuntu 10.04lts mysql 5.1.73 1.安裝登入 sudo apt get install mysql server sudo apt get install mysql admin 控制台程式 s...