unity3d 免费好用的数据库处理框架 数据库直连框架

一、概述

前不久有一个哥们做PC游戏开发的.使用到Unity3d,

正好找到我.

我给他提供了Unity3d如何Moon.Orm来智能化编程的方式.

我们先看看怎么更加便捷sqlite.

http://www.cnblogs.com/humble/p/4593133.html

using System;
using Moon_Sqlite;
using Moon.Orm;
using Moon.Orm.Util;
namespace testsome
{
    class Program
    {
        public static void Main(string[] args)
        {
            //添加数据
            using (var db=new Sqlite("sqlite的链接字符串")) {
                /*清空数据表
                db.Remove<ScoreSet>();
                db.Remove<StudentSet>();
                db.Remove<ClassSet>();
                 */
                //添加数据
                Class cl=new Class();
                cl.ClassName="班级"+DateTime.Now.ToString();
                cl.ClassLevel=1;
                db.Add(cl);
                Console.WriteLine("添加[班级]成功,ID={0}",cl.ID);

                Student stu=new Student();
                stu.Age=12;
                stu.BirthDay=DateTime.Now;
                stu.Class_ID=cl.ID;
                stu.Name="张三"+DateTime.Now;
                stu.Sex=true;
                db.Add(stu);
                Console.WriteLine("添加[学生]成功,ID={0}",stu.ID);

                Score sco=new Score();
                sco.Score_=98;
                sco.Student_ID=stu.ID;
                db.Add(sco);
                Console.WriteLine("添加[分数]成功,ID={0}",stu.ID);

                //跟新数据
                Score update=new Score();
                update.Score_=100;
                update.WhereExpression=ScoreSet.ID.Equal(sco.ID);
                db.Update(update);
            }
            //查询数据
            using (var db=Db.CreateDefaultDb()) {
                //连接查询
                var mqlJoin=ScoreSet.SelectAll()
                    .InnerJoin(StudentSet.Select(StudentSet.Name))
                    .InnerJoin(ClassSet.Select(ClassSet.ID.AS("ClassID"),ClassSet.ClassName))
                    .ON(ScoreSet.Student_ID.Equal(StudentSet.ID)
                        .And(StudentSet.Class_ID.Equal(ClassSet.ID) )
                       );
                //查看当前sql
                var sql=mqlJoin.ToDebugSQL();
                var list=db.GetDictionaryList(mqlJoin);
                //展示数据
                list.ShowInConsole();

                //让我们无需实体类
                string sql2=mqlJoin.ToParametersSQL();
                dynamic dlist=db.GetDynamicList(sql2,"自定义类名");
                foreach (dynamic entity in dlist) {
                    Console.WriteLine(entity.ID+" "+entity.Score+" "+entity.Student_ID+" "+entity.Name+" "+entity.ClassID+" "+entity.ClassName);
                }
                //获取实体集
                var entityList=db.GetEntities<Score>(ScoreSet.SelectAll().Where(ScoreSet.ID.BiggerThan(0)));

            }
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

二、Unity3D中如何使用.

1.下载moon.orm

下载地址:

http://lko2o.com/moon/article/3

2.引用moon.orm.dll

3.放置程序库到如下位置

将moon.orm.dll ,System.Data.SQLite.dll ,SQLite.Interop.dll sqlite数据库文件放入unity3d编辑器exe所在位置;

这时候编辑器中就可以直接看到查询结果了.

注意:以及在最终的目标程序那里同样放一份.(生成之后再放)

4.使用代码生成器

此链接介绍了如何使用代码生成器: http://www.cnblogs.com/humble/p/4593133.html

5.开始编码

using(var db=new Sqlite("sqlite的链接字符串")){

  var mql=UserSet.Select(UserSet.Name).Where(UserSet.ID.Equal(9));

  var name=db.GetScale(mql).ToString();

}
时间: 2024-10-29 19:11:44

unity3d 免费好用的数据库处理框架 数据库直连框架的相关文章

Yii2.0高级框架数据库增删改查的一些操作(转)

yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 ----------------------------------------------------------------------------------------------------- User::find()->all();    //返回所有用户数据:User::findOne($id);   //返回 主键 id=1  的一条数

Yii2.0高级框架数据库增删改查的一些操作

yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 ----------------------------------------------------------------------------------------------------- User::find()->all();    //返回所有用户数据:User::findOne($id);   //返回 主键 id=1  的一条数

activiti5.13 框架 数据库设计说明书

转载自:http://www.cnblogs.com/llzgzljl/p/3356108.html activiti5.13 框架 数据库设计说明书 1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的表.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等). ACT_RU_*: ‘RU’表示runtime,运行时表-Runtim

ci框架数据库相关函数

返回查询影响的记录数 $res = $this->db->get_where('wx_life',array('id'=>$id)); $num = $res->num_rows(); ci框架数据库相关函数,布布扣,bubuko.com

CI框架数据库操作整理

整理一下CI框架下数据库的基本操作函数的调用和使用,适用于新人: $this->load->database();//实例化db属性 在实例化db之后,可以运用该对象的丰富的函数来对数据库进行查改删增的操作. mysql数据库 create table users(username varchar(10),password varchar(10),email varchar(10));//创建users表 1.数据库添加操作 $user=arrar( "username"=

greenDao android开源框架数据库更新表的问题

最近使用greenDao当android应用升级数据库新增表或者修改表,发现数据被清空的问题 查找资料也没有找到解决方案,最后查看代码发现需要自己修改SQLiteOpenHelper 1.找到greenDao生成的DaoMaster.java文件,里面有SQLiteOpenHelper实现 2.修改DevOpenHelper类里的   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 方法 通过old

shopnc框架数据库查询限制30条记录

   shopnc框架数据库查询方法:Model()->table("表名")->select();假如你的表中数据大于30条,你查到的 结果中会只显示30条,解决方法是:查询语句中假如limit方法,即Model()->table("表名")-> limit(false)->select();

“Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象

目录: “Zhuang.Data”轻型数据库访问框架(一)开篇介绍 “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象 先来看一段代码 DbAccessor dba = DbAccessor.Create(); var dt = dba.QueryDataTable("select * from sys_product where productid=#Id#",new {Id=1}); Console.WriteLine(DataTableUtil.

Yii框架数据库多数据库、主从、读写分离

Yii框架数据库多数据库.主从.读写分离 实现 功能描述:1.实现主从数据库读写分离 主库:写 从库(可多个):读2.主数据库无法连接时 可设置从数据库是否 可写3.所有从数据库无法连接时 可设置主数据库是否 可读4.如果从数据库连接失败 可设置N秒内不再连接 利用yii扩展实现: <?php /**  * 主数据库 写 从数据库(可多个)读  * 实现主从数据库 读写分离 主服务器无法连接 从服务器可切换写功能  * 从务器无法连接 主服务器可切换读功  * by lmt  * */ clas

iOS开发数据库篇—FMDB数据库队列(下)

iOS开发数据库篇—FMDB数据库队列(下) 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: 1 // 2 // YYViewController.m 3 // 05-FMDB数据库队列 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "Y