<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MongoDB學(xué)習(xí)筆記~自己封裝的Curd操作(查詢集合對象屬性,更新集合對象)

      回到目錄

      我不得不說,mongodb官方驅(qū)動在與.net結(jié)合上做的不是很好,不是很理想,所以,我決定對它進(jìn)行了二次封裝,這是顯得很必然了,每個人都希望使用簡單的對象,而對使用復(fù)雜,麻煩,容易出錯的對象盡而遠(yuǎn)之,這是正常的,人都是喜歡懶惰的,就像程序員,也是一樣,喜歡偷懶,可能說,偷懶是程序員進(jìn)步的一個標(biāo)志,呵呵.

      下面我是總結(jié)的幾種標(biāo)準(zhǔn)的操作,主要是針對我封裝的官方驅(qū)動而方的(MongoOfficialRepository<TEntity>)

      1  插入對象和子對象

              /// <summary>
              /// 添加對象
              /// </summary>
              static public void Insert()
              {
                  List<Person> list = new List<Person>();
                  for (int i = 0; i < 10; i++)
                  {
                      //添加新對象
      
                      list.Add(new Person
                      {
                          Address = new Address
                          {
                              City = "北京",
                              District = "鸞翔鳳集",
                              Province = "luanxian",
                          },
                          AddList = new List<Address>
                      {
                       new Address
                       {
                          Seconds=1,
                          City = "湖北",
                          District = "鸞翔鳳集",
                          Province = "luanxian",
                       },
                        new Address
                       {
                          Seconds=1,
                          City = "湖南",
                          District = "小區(qū)",
                          Province = "luanxian",
                       }
                      },
                          Age = 35,
                          Birthday = DateTime.Now,
                          LastContact = DateTime.Now,
                          Name = "wangwu"
                      });
                  }
                  repository1.Insert(list);
              }

      2 更新對象和子對象集合元素,這是非常不錯的功能,對于沒有必要更新的記錄,可以不去為它賦值

              /// <summary>
              /// 集合查詢
              /// </summary>
              static public void Update()
              {
                  repository1.Update<Person>(i => new Person
                    {
                        Id = "556bfd1b2683c82060c2edd0",
                        AddList = new List<Address>
                        {
                          new Address
                          {
                            Id = "556bfd1b2683c82060c2edd3",
                            City = "占占大師123",
                            District = "鸞翔鳳集",
                            Seconds=2
                          }
                       }
                    });
              }

      3 分頁,多字段查詢和排序,這是項目開發(fā)中用的最多的東西了,寫了個標(biāo)準(zhǔn)的給大家參考

              /// <summary>
              /// 分頁,排序,查詢
              /// </summary>
              static public void Select()
              {
                  //排序和檢索
                  var m1 = repository1.GetModel(new
                  {
                      Address = new
                      {
                          City = "北京"
                      },
                      AddList = new
                      {
                          Seconds = 1
                      }
                  }, new { Name = OrderType.Desc }, 1, 20);

      4 分組,對于需要按著按些字段進(jìn)行聚合(統(tǒng)計,求和,總數(shù),最大值,最小值等),及多條件查詢,這里有不錯的實例

              /// <summary>
              /// 分組
              /// </summary>
              static public PagedList<Person> Group(string keyword, int? age, int page)
              {
                  Specification<Person> spec = new TrueSpecification<Person>();
      
                  //過濾
                  if (!string.IsNullOrWhiteSpace(keyword))
                  {
                      spec &= new DirectSpecification<Person>(i => i.Name == keyword);
                  }
      
                  if (age.HasValue)
                  {
                      spec &= new DirectSpecification<Person>(i => i.Age == age);
                  }
      
                  //分組
                  var linq = from data1 in repository1.GetModel().Where(spec.SatisfiedBy())
                             group data1 by new
                             {
                                 data1.Id,
                                 data1.Name
                             } into g
                             select new Person
                             {
                                 Id = g.Key.Id,
                                 Name = g.Key.Name,
                                 Total = new Total
                                 {
                                     Count = g.Count(),
                                     Max = g.Max(i => i.Age),
                                 }
      
                             };
                  return new PagedList<Person>(linq, page, 10);
              }

      OK,以上是針對我的MongoDB倉儲進(jìn)行的一些二次說明,感覺還是比較有必要的,呵呵.

      回到目錄

       

      posted @ 2015-06-01 17:06  張占嶺  閱讀(3112)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品人妻久久无码不卡| 欧美日韩不卡合集视频| 中文字幕在线精品人妻| 国产91精选在线观看| 成人性生交片无码免费看| 久久久久亚洲精品无码系列| 色爱综合激情五月激情| 亚洲av日韩av一区久久| 欧美国产日产一区二区| 深夜福利资源在线观看| 国产AV大陆精品一区二区三区| 精品久久久久中文字幕日本| 国产av不卡一区二区| 人妻无码ΑV中文字幕久久琪琪布| 亚洲不卡一区二区在线看| 久久精品久久电影免费理论片| 成人免费ā片在线观看| 少妇人妻偷人精品系列| 国产日韩一区二区天美麻豆| 熟妇人妻无码中文字幕老熟妇| 深夜福利资源在线观看| 无码天堂亚洲国产av麻豆| 狠狠色丁香婷婷综合尤物| 女人张开腿无遮无挡视频| 亚洲国产中文字幕精品| 国产在线观看免费观看| 亚洲中文久久久精品无码| 人妻熟女一区二区aⅴ向井蓝| 人妻精品动漫h无码| 中文字幕丰满伦子无码ab| 日韩国产成人精品视频| 欧洲无码一区二区三区在线观看| 开心激情站开心激情网六月婷婷| 亚洲av成人一区二区三区| 国产女人看国产在线女人| www亚洲精品| 人妻在线中文字幕| 国产精品人成视频免费播放| 国产精品无码制服丝袜| 99热门精品一区二区三区无码| 久久这里只精品热免费99|