(转)C#开发Mongo笔记第二篇



  • 本文转自www.cnblogs.com,作者为晨冬之雪

    写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧。

    {"_id":ObjectId("5459cdb9a5db140c84885304"),"chengjis":[{"Yuwen":56,"Shuxue":23}],"Name":"test1","Title":"title1","Chengji":{"Yuwen":56,"Shuxue":23}}

    就是用户表里有个成绩字段,成绩字段是个子表。

    其实实现这个功能也很简单,用面向对象的思想很好理解,子表就是user表的一个对象字段或者集合字段,所以我觉得用C#开发Mongo用面向对象的思想开发更合适一些。

    public class User
    {
         public ObjectId Id { get; set; }
         public string Name { get; set; }
         public string Title { get; set; }
         public Chengji Chengji { get; set; }
         public List<Chengji>  chengjis=new List<Chengji>();
    }
    根据需要定义成对象或者集合,在插入这个对象的时候相应的字段赋值就可以了,是不是很符合面向对象的思想?
    Chengji chengji = new Chengji(){Yuwen = 56,Shuxue = 23};
    User employee = new User();
    employee.Name = "test1";
    employee.Title = "title1";
    employee.Chengji =chengji;
    employee.chengjis.Add(chengji);
    //  把它写到上面那个集合里面去
     collection.Insert(employee);

    我当初还想着让User类继承BsonDocument呢,没想到驱动早就给我们设计好,操作实体对象就好了。

    让codefrist飞一会吧。


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待