BIN文件对象数据库,直接存储对象做数据库,小型项目用它准没错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了BIN文件对象数据库,直接存储对象做数据库,小型项目用它准没错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3214字,纯文字阅读大概需要5分钟。
内容图文
using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 using System.Runtime.Serialization.Formatters.Binary; 7 8 namespace MsChartHelp 9 { 10 static class FileSerialize 11 { 12 //获取文件时可以直接拿数组 13 public static T GetFileInfo<T>(string filePath) where T : new() 14 { 15 T t = new T(); 16 CreateFile<T>(filePath); 17 FileStream fs = new FileStream(filePath, FileMode.Open); 18 BinaryFormatter bf = new BinaryFormatter(); 19 if (fs.Length < 1) { return t; } 20 t = (T)(bf.Deserialize(fs)); 21 fs.Close(); 22 return t; 23 } 24 25 //BIN文件是否存在 26 private static void CreateFile<T>(string filePath) where T : new() 27 { 28 T t = new T(); 29 if (!File.Exists(filePath)) 30 { 31 FileStream fs = new FileStream(filePath, FileMode.Create); 32 BinaryFormatter bs = new BinaryFormatter(); 33 bs.Serialize(fs, t); 34 fs.Close(); 35 } 36 } 37 38 //保存数组LIST<U> 39 public static void Save<u>(string filePath, List<u> South) 40 { 41 List<u> souTrim = (List<u>)South; 42 FileStream fs = new FileStream(filePath, FileMode.Create); 43 BinaryFormatter bff = new BinaryFormatter(); 44 try 45 { 46 bff.Serialize(fs, souTrim); 47 } 48 catch (Exception) 49 { 50 51 throw; 52 } 53 finally 54 { 55 56 fs.Close(); 57 } 58 } 59 60 61 public static void Save<T>(string filePath, T South) 62 { 63 FileStream fs = new FileStream(filePath, FileMode.Create); 64 BinaryFormatter bff = new BinaryFormatter(); 65 try 66 { 67 bff.Serialize(fs, South); 68 } 69 catch (Exception) 70 { 71 72 throw; 73 } 74 finally 75 { 76 77 fs.Close(); 78 } 79 } 80 } 81 } View Code
缺点
1.如果有10w条记录,修改一条你就需要重写这个BIN文件,开销相当大,另外如果只是查询一条记录你也需要重新将这个BIN所有内容加载到内存建立对应的对象。
2.Access, SQL Server可以简单理解做了2件事情,第一他提供了统一界面,任何语言任何进程通过sql都可以与之通讯,获取数据。
第二件事情他提供了索引机制,通过索引不需要加载所有数据到内存就能根据sql定位查询结果。
3.修改对象结构会造成数据无法读取,需要保留原对象与新对象,将原数据读取至原对象,然后通过程序转换到新对象,将新对象重新保存在一个新文件(BIN)里面,最后原对象文件和原数据文件(BIN)删除。
4.实时保存,不建议实时保存,等所有处理完毕延迟保存数据最好。
但是如果你的应用很小,内存足够hold住数据,且不需要实时保存,那么此方法是可行的,而且可以说比用access都好,呵呵。
具体问题具体分析,合适就好。
BIN文件对象数据库,直接存储对象做数据库,小型项目用它准没错
标签:
本文系统来源:http://www.cnblogs.com/jacd/p/4499062.html
内容总结
以上是互联网集市为您收集整理的BIN文件对象数据库,直接存储对象做数据库,小型项目用它准没错全部内容,希望文章能够帮你解决BIN文件对象数据库,直接存储对象做数据库,小型项目用它准没错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。