溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linq Setting字段怎么用

發(fā)布時間:2021-12-01 16:59:17 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Linq Setting字段怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Linq Setting字段存儲

本文介紹Linq Setting字段,這個用過Linq的人都知道它的好處,如在設計一張表如學生信息表,如學習愛好,性格,生活經歷等這些字段,相信大家在以前的設計理念是將三個字段設計成三個 Nvarchar(8000)類型字段,或者有些設計成 Text 類型字段,這些設計都沒錯,但都不是很好。

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

private string _hotelDescription = string.Empty;//興趣  public string HotelDescription { get { return _hotelDescription; } set { _hotelDescription = value; } }  partial void OnLoaded()  {  byte[] bytes = Setting.ToArray();  CSetting setting = new CSetting(bytes);  load(setting);  }   partial void OnValidate(System.Data.Linq.ChangeAction action)  {  CSetting setting = new CSetting();  save(setting);  byte[] bytes = setting.ToByteArray();  Setting = new Binary(bytes);  }  private void save(CSetting setting)  {  setting.Set("desc", _hotelDescription);  }  private void load(CSetting setting)  {  _hotelDescription = setting.Get("desc", string.Empty);  }

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

  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連所子查詢結合

  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() 語法

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

關于“Linq Setting字段怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI