首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

有人用过Ndatabase对象数据库么,有点有关问题想咨询下

2013-11-25 
有人用过Ndatabase对象数据库么,有点问题想咨询下/// summary/// 添加或更新/// /summary/// param n

有人用过Ndatabase对象数据库么,有点问题想咨询下
       /// <summary>
        /// 添加或更新
        /// </summary>
        /// <param name="name"></param>
        public void StoreOrUpdate(string name)
        {
            var sport = new Sport(name,new DateTime(2001,1,12));
            using (var odb = OdbFactory.Open("test.db"))
            {
                var query = odb.Query<Sport>();
                 query.Descend("Name").Constrain(name).Equal();
                 List<Sport> spotlst = query.Execute<Sport>().ToList<Sport>();
                // Store the object
                 if (spotlst.Count == 0)// 执行查询
                {
                    odb.Store<Sport>(sport);// 保存usermodel对象。
                }
                else
                {
                    for (int i = 0; i < spotlst.Count; i++)
                    {
                        spotlst[i].Dt = DateTime.Now;
                        odb.Store<Sport>(spotlst[i]);
                    }
                }
            }
        }



当反复执行此方法进行更新数据时我发现test.db数据文件不断增大

但是问题是我仅仅是update啊
http://download.csdn.net/detail/ruanjianderen/5311887
程序是在csdn上下的很奇怪啊





[解决办法]
http://developer.51cto.com/art/201302/380454.htm

看看相关资料
[解决办法]
看它的源代码就知道。更新数据其实是删除再插入实现的。
[解决办法]

引用:
Quote: 引用:

看它的源代码就知道。更新数据其实是删除再插入实现的。


那为什么test.db数据文件只大不小呢


我没有说清楚。删除其实就是将那块存储标记为无数据。不会将后面的数据移动,填充这个位置。

你看下源代码不就知道了。

热点排行