当前位置: 首页 > news >正文

做h5页面的网站有哪些页游开服表

做h5页面的网站有哪些,页游开服表,蓝潮网站建设,wordpress电脑手机端同时导言 大家好#xff0c;话说真是好久好久没写文章了#xff0c;哈哈。 最近在写网站#xff0c;个人对传统数据库天然抵触#xff0c;感觉非常繁冗#xff0c;即便是Entity Framework也过于庞杂了#xff0c;Db4o这种轻量级且读写、配置都极其方便的新型数据库非常适合我…导言 大家好话说真是好久好久没写文章了哈哈。 最近在写网站个人对传统数据库天然抵触感觉非常繁冗即便是Entity Framework也过于庞杂了Db4o这种轻量级且读写、配置都极其方便的新型数据库非常适合我。 不过我发现Db4o这么多年发展下来竟然仍旧没多少中文资料可寻很奇怪为什么这么优秀的数据库国内使用率极低呢于是我就想尝试自己来写一些心得什么的为Db4o在国内的传播尽微薄之力吧。 此次分享的是自己写的工具类代码封装了Db4o的一种基本使用方式高度优化了调用体验下面直接介绍用法源代码在文章末尾贴出。 初始化 如果是桌面应用的话那就在程序开始时直接初始化即可 /// summary/// Db4o服务器管理器/// /summarypublic static Db4oServerManager Db4oServerManagernew Db4oServerManager(db.db4o); 如果是网站建议在Global.asax里作为网站核心类的静态属性并在网站启动时初始化 public class MvcApplication : System.Web.HttpApplication{/// summary/// Db4o服务器管理器/// /summarypublic static Db4oServerManager Db4oServerManager;protected void Application_Start(){AreaRegistration.RegisterAllAreas();FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);Db4oServerManager new Db4oServerManager(Server.MapPath(System.Configuration.ConfigurationManager.ConnectionStrings[db4o].ConnectionString));}public override void Dispose(){Db4oServerManager.Dispose();base.Dispose();}} 然后记得在Web.config里配置数据库存放路径 connectionStringsadd namedb4o connectionString/App_Data/db.db4o//connectionStrings 调用方法 注下文以网站项目为例 建议采用Lambda表达式方法调用 //无返回值调用方法MvcApplication.Db4oServerManager.Access(q {//查找相同ID的对象以进行更新否则直接存储将存储为新对象var u q.QueryApplicationUser(t t.Id user.Id).First();u.用户信息.名称 model.DisplayName;//必须明确存储子对象才能得到正确更新因为默认貌似没有开启级联更新新建对象存储时会默认自动存储子对象但更新对象时不会自动更新子对象q.Store(u.用户信息);}); //有返回值调用方法return MvcApplication.Db4oServerManager.AccessAndReturn(q q.QueryWebSite.Models.ApplicationUser(t t.UserName User.Identity.GetUserName()).First().用户信息.名称) 下面是传统一些的调用方式 using (var dbsa MvcApplication.Db4oServerManager.CreatAccessor()){var finduser dbsa.QueryTUser(q q.Id user.Id).FirstOrDefault();dbsa.Delete(finduser);} 源代码 /// summary/// Db4o服务器访问器。注意对数据进行修改后必须释放此对象才能真正的将更改提交到服务器。建议配合using(var dbsanew Db4oServerAccessor(...)){...}语句使用/// /summary// ReSharper disable once InconsistentNamingpublic class Db4oServerAccessor : IDisposable{// ReSharper disable once InconsistentNamingprivate IObjectContainer DBContainer { get; set; }/// summary/// 构造函数/// /summary/// param nameserverManagerDb4o服务器管理器/parampublic Db4oServerAccessor(Db4oServerManager serverManager){DBContainer serverManager.OpenClient();}public void Store(object o){DBContainer.Store(o);}public IDb4oLinqQueryT QueryT(PredicateT p){return from T q in DBContainer where p(q) select q;}public IDb4oLinqQueryT QueryAllT(){return from T q in DBContainer select q;}public int CountT(IDb4oLinqQueryT collection){return collection.Count();}public int CountAllT(){return QueryAllT().Count();}public int CountT(PredicateT p){return Query(p).Count();}public int CountAllByExtT(){foreach (var storedClass in DBContainer.Ext().StoredClasses()){if (storedClass.GetName() typeof(T).FullName) return storedClass.InstanceCount();}return 0;}public void Delete(object o){DBContainer.Delete(o);}public void DeleteT(PredicateT p){foreach (var f in QueryT(p)){Delete(f);}}#region IDisposable 成员public void Dispose(){DBContainer.Dispose();}#endregion} /// summary/// Db4o服务器管理器/// /summary// ReSharper disable once InconsistentNamingpublic class Db4oServerManager : IDisposable{private IObjectServer _db4OServer;private readonly string _dbFilePath;/// summary/// 构造函数/// /summary/// param namedbFilePath数据库文件路径通常使用Server.MapPath(/xxxx/xx.xx)函数获取到。/parampublic Db4oServerManager(string dbFilePath){_dbFilePath dbFilePath;OpenServer();}private void OpenServer(){IServerConfiguration serverConfig Db4oClientServer.NewServerConfiguration();_db4OServer Db4oClientServer.OpenServer(serverConfig, _dbFilePath, 0);}/// summary/// 开启一个客户端实例/// /summary/// returns客户端实例/returnspublic IObjectContainer OpenClient(){Begin:try{return _db4OServer.OpenClient();}catch{OpenServer();goto Begin;}}/// summary/// 创建一个服务器访问器对象。注意对数据进行修改后必须释放此对象才能真正的将更改提交到服务器。/// /summary/// returns一个服务器访问器对象/returnspublic Db4oServerAccessor CreatAccessor(){return new Db4oServerAccessor(this);}/// summary/// 创建并访问一个服务器访问器对象。/// /summary/// param nameaction对服务器访问器对象的操作行为/parampublic void Access(ActionDb4oServerAccessor action){using (var dba CreatAccessor()){action(dba);}}/// summary/// 创建并访问一个服务器访问器对象继而获得返回值。/// /summary/// param nameaction对服务器访问器对象的操作行为/param/// typeparam nameT返回值类型/typeparampublic T AccessAndReturnT(FuncDb4oServerAccessor,T action){T v default(T);using (var dba CreatAccessor()){v action(dba);//System.Diagnostics.Debug.WriteLine(v.ToString());}return v;}#region IDisposable 成员public void Dispose(){_db4OServer.Dispose();}#endregion} 结语 最后容我再郑重向大家强力推荐一下Db4o真心的桌面、网站、移动无往不利你值得拥有。转载于:https://www.cnblogs.com/SkyD/p/3574651.html
http://www.yutouwan.com/news/54931/

相关文章:

  • 科技设计网站有哪些内容淘宝运营培训学校
  • 免费申请个人网站网站开发一般有那些语言
  • 天津网站建设 易尔通外贸网站个性设计
  • godaddy域名买的网站做调查挣钱的网站
  • 四川建设网站项目招标手机端网站重构
  • 推广网站2024吴堡网站建设费用
  • 建设银行江苏省行网站做实体店推广的网站
  • 温州做网站的公司有哪些上海 网站建设 外包
  • 北京app建设 网站开发公司wordpress不能更新插件
  • 网站建设中提示页面下载官网优化包括什么内容
  • 江苏省常州建设高等职业技术学校网站企信网企业信息查询平台官网
  • 个人政务公开网站建设工作总结网络组建与维护试题
  • 自己做一个网站一年的费用建设银行安徽 招聘网站
  • 个人网站背景图片h5网站建设的具体内容
  • 诸城网络科技网站建设巫山网站设计
  • 网站 php .net湖南建设网站
  • 做网站竞价还需要推广公司谷歌官网网址
  • 黄山地区建设行业网站做机械设备内销网站有哪些
  • 渭南网站建设重庆市建设安全管理网
  • 汽车网站方案pc网站怎么建设流程
  • 广州网站推广哪家强你需要网站建设
  • wap网站预览捡个将军做男友啥网站能看
  • 网站建设图片设置个人或主题网站建设 实验体会
  • 网站建设的行业资讯重庆房产网
  • 有哪些网站适合大学生做兼职wordpress站点安装
  • 商城网站后台模板服务器安全检测工具
  • 渭南做网站电话珠海手机网站
  • 青岛网站建设王道下拉??短视频运营公司
  • 站长之家音效素材网站域名注册时间查询
  • asp网站关键词wix做中文网站怎么样