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

平添新对象,修改新对象,一起保存可以吗

2013-02-24 
添加新对象,修改新对象,一起保存可以吗?添加新对象,修改新对象,一起保存可以吗?下边代码我测试过,没有出错

添加新对象,修改新对象,一起保存可以吗?
添加新对象,修改新对象,一起保存可以吗?
下边代码我测试过,没有出错,但是不知道是否规范

                 db.Library.AddObject(book);            //保存Library对象


                    docMove.FileCounter = FileCounter;     //记录文件计数器对象
                    docMove.DirCounter = DirCounter;
                    db.SaveChanges();







            using (var db = new WEBVODEntities())
            {
                DocBatchMove docMove;

                if (!Directory.Exists(rootParth))
                {
                    Directory.CreateDirectory(rootParth);   //新一天上传前的初始化.
                    docMove = db.DocBatchMove.SingleOrDefault(a => a.Id == 1);
                    docMove.DirCounter = 1;    //目录从1开始
                    docMove.FileCounter = 0;     //文件数从0开始
                    db.SaveChanges();    //保存到计数数据表 DocBatchMove
                }

                FileInfo[] files = new DirectoryInfo(txtSource.Text).GetFiles();
                foreach (FileInfo f in files)                                              //遍历文件数组
                {
                    #region  遍历文件数组
                    docMove = db.DocBatchMove.SingleOrDefault(a => a.Id == 1);             //获取记录信息
                    FileCounter = docMove.FileCounter + 1; //从 数据表DocBatchMove 取文件计数器
                    DirCounter = docMove.DirCounter;  //从 数据表DocBatchMove 取目录计数器



                    if (FileCounter > 50)              //每个文件夹文件数不超过50
                 {
                     FileCounter = 1;       //大于50,重新计数
                        DirCounter = DirCounter + 1;     //生产新的文件夹
                    }

                    strGuid = Guid.NewGuid().ToString();        //获得唯一编号
                    SaveParth = rootParth + DirCounter.ToString() + "\" + strGuid + "\";   //完整的保存路径

                    Directory.CreateDirectory(SaveParth);         //新建保存PDF的目录
                    f.CopyTo(SaveParth + Constants.BookPdfName);     //拷贝文件到目录

                    Library book = new Library();
                    book.Title = f.Name;
                    book.CategoryID = 7;
                    book.Guid = strGuid;
                    book.Status = Constants.BookStatus_PDF;
                    book.LoginName = Constants.UserAdmin;
                    book.PubDate = DateTime.Now;
                    book.TimeBook = DTPick1.Value;       //期刊需要 分期(时间)
                    book.Extension = f.Extension;
                    book.VirDir = virDir + DirCounter.ToString() + "\" + strGuid + "\";    //虚拟目录

                    db.Library.AddObject(book);            //保存Library对象


                    docMove.FileCounter = FileCounter;     //记录文件计数器


                    docMove.DirCounter = DirCounter;
                    db.SaveChanges();
                    #endregion
                }


            }


[解决办法]
应该是可以的
[解决办法]
可以 ,而且是推荐的, 这也是人们常说的实现了  单元模式

热点排行