自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linq Setting字段描述

開(kāi)發(fā) 后端
這里介紹Linq Setting字段,這個(gè)用過(guò)Linq的人都知道它的好處,如在設(shè)計(jì)一張表如學(xué)生信息表,如學(xué)習(xí)愛(ài)好,性格,生活經(jīng)歷等這些字段。

Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹Linq Setting字段,包括介紹Linq中Join連所子查詢結(jié)合等方面。

Linq Setting字段存儲(chǔ)

本文介紹Linq Setting字段,這個(gè)用過(guò)Linq的人都知道它的好處,如在設(shè)計(jì)一張表如學(xué)生信息表,如學(xué)習(xí)愛(ài)好,性格,生活經(jīng)歷等這些字段,相信大家在以前的設(shè)計(jì)理念是將三個(gè)字段設(shè)計(jì)成三個(gè) Nvarchar(8000)類(lèi)型字段,或者有些設(shè)計(jì)成 Text 類(lèi)型字段,這些設(shè)計(jì)都沒(méi)錯(cuò),但都不是很好。

現(xiàn)在有 Linq,可以將這三個(gè)字段都放在Linq Setting字段中(注意這里,字段的名稱(chēng)必須為Setting),Linq Setting字段設(shè)置成 image  類(lèi)型即可實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。如何用C#語(yǔ)法來(lái)存儲(chǔ)呢?????以后有空再說(shuō)。用Setting字段存儲(chǔ)的數(shù)據(jù),缺點(diǎn)是做條件查詢時(shí),用Setting作為查詢條件就有些復(fù)雜了,一般不作條件查詢。

  1. private string _hotelDescription = string.Empty;//興趣  
  2. public string HotelDescription { get { return _hotelDescription; 
  3. set { _hotelDescription = value; } }  
  4. partial void OnLoaded()  
  5. {  
  6. byte[] bytes = Setting.ToArray();  
  7. CSetting setting = new CSetting(bytes);  
  8. load(setting);  
  9. }  
  10.  
  11. partial void OnValidate(System.Data.Linq.ChangeAction action)  
  12. {  
  13. CSetting setting = new CSetting();  
  14. save(setting);  
  15. byte[] bytes = setting.ToByteArray();  
  16. Setting = new Binary(bytes);  
  17. }  
  18. private void save(CSetting setting)  
  19. {  
  20. setting.Set("desc", _hotelDescription);  
  21. }  
  22. private void load(CSetting setting)  
  23. {  
  24. _hotelDescription = setting.Get("desc", string.Empty);  

Linq中的Union(遞歸查詢,查詢父節(jié)點(diǎn)下所有節(jié)點(diǎn))

  1. var query = (from item1 in dc.SysOrganization  
  2. where (item1.FatherSysOrganizationID == orgId) && item1.IsDel == false  
  3. select new SysOrganizationInfo { SysOrganizationID =item1.SysOrganizationID,
    Name=item1.Name,Code=item1.Code,BaseProvinceID=(int)item1.BaseProvinceID,
    BaseCityID=(int)item1.BaseCityID})  
  4. .Union(  
  5. from item2 in dc.SysOrganization  
  6. join item3 in dc.SysOrganization  
  7. on item2.FatherSysOrganizationID equals item3.SysOrganizationID  
  8. where (item2.SysOrganizationID == orgId) && item2.IsDel == false  
  9. select new SysOrganizationInfo { SysOrganizationID = item2.SysOrganizationID, 
    Name = item2.Name, Code = item2.Code, BaseProvinceID = (int)item2.BaseProvinceID, 
    BaseCityID = (int)item2.BaseCityID }); 

Linq中Join連所子查詢結(jié)合

  1. var roles = from aa in(  
  2. from a in dc.SysOrganizationRoleUser  
  3. join b in dc.SysOrganizationRole on a.SysRoleID equals b.SysRoleID  
  4. join c in dc.SysOrganizationRoleFunctionItem on b.SysRoleID equals c.SysRoleID  
  5. join d in dc.SysFunctionItem on c.SysFunctionItemID equals d.SysFunctionItemID  
  6. join d2 in dc.SysFunctionItem on c.SysFunctionItemID equals d2.SysFunctionItemID  
  7. where a.SysUserID == userID  
  8. select d)  
  9. from bb in dc.SysFunctionItem  
  10. where aa.SysFunctionItemID == bb.SysFunctionItemID || 
    aa.FatherFunctionItemID == bb.SysFunctionItemID  
  11. select bb; 

Linq中的左連接查詢用到 DefaultIfEmpty() 語(yǔ)法

  1. var svcUser = from a in hdc.SysServiceCenterUser  
  2. join b in hdc.SysServiceCenter on a.SysServiceCenterID equals b.SysServiceCenterID  
  3. join c in hdc.SysServicePositionUser on a.SysUserID equals c.SysUserID into pous  
  4. from c in pous.DefaultIfEmpty()  
  5. join d in hdc.SysServiceCenterPosition on c.SysServicePositionID 
    equals d.SysServicePositionID into po  
  6. from d in po.DefaultIfEmpty()  
  7. where (_SysServiceCenterID == 0 ? true : a.SysServiceCenterID == _SysServiceCenterID)  
  8. && (_SysServicePositionID == 0 ? true : (from w in hdc.SysServicePositionUser where 
    w.SysServicePositionID == _SysServicePositionID select w.SysUserID).Contains(a.SysUserID))  
  9. && (_Name == null || _Name.Trim() == "" ? true : a.FullName.Contains(_Name))  
  10. && (_Code == null || _Code.Trim() == "" ? true : a.Code == _Code)  
  11. select new Svc  
  12. {  
  13. _SysUserID = (a.SysUserID == null ? 0 : a.SysUserID),  
  14. _SysServiceCenterID = (a.SysServiceCenterID==null?0:(int)a.SysServiceCenterID),  
  15. //_SysServicePositionID = (int)c.SysServicePositionID,  
  16. _SvcName = b.Name,  
  17. //_PositionName = d.Name,  
  18. _LoginName = a.LoginName,  
  19. _FullName = a.FullName,  
  20. _Code = (a.Code==null?"":a.Code)  
  21. }; 

【編輯推薦】

  1. LINQ查詢操作剖析
  2. LINQ生成字符串概述
  3. LINQ查詢語(yǔ)法簡(jiǎn)單描述
  4. LINQ解決方案簡(jiǎn)單概述
  5. LINQ查詢結(jié)果分析
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-09-09 15:37:27

Linq DataLo

2009-09-10 10:37:15

LINQ to SQL

2009-09-16 09:38:27

LINQ To SQL

2009-09-10 15:26:03

Linq City集合

2009-09-14 10:57:46

LINQ入門(mén)

2009-09-09 15:28:43

Linq to obj

2009-09-15 16:26:36

Linq orderb

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-11 10:20:36

Linq擴(kuò)展方法

2009-09-08 09:24:50

LINQ查詢

2009-09-14 10:20:52

LINQ查詢語(yǔ)法

2009-09-17 09:24:57

Linq實(shí)現(xiàn)分頁(yè)

2009-09-14 16:33:55

LINQ To XML

2009-09-15 11:14:33

LINQ to SQL

2009-09-17 17:14:54

linq to sql

2009-09-09 11:14:04

Linq多個(gè)結(jié)果集

2009-09-18 13:53:09

LINQ工具集

2009-09-10 09:09:40

Linq實(shí)體繼承

2009-09-16 10:58:13

Linq數(shù)據(jù)分組

2009-09-16 15:48:05

Linq修改XML文檔
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)