• 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();
    
    }
  • 相关阅读:
    Objective-C传递数据小技巧
    得到当前活动的controller
    ios7去除手势滑动返回
    生活小常识
    通过email分享
    release下去除nslog宏
    AFNetworking VS ASIHTTPRequest
    web服务器和应用服务器
    mac 搭建git服务器
    UIKit基础:14-序列帧动画的简单介绍
  • 原文地址:https://www.cnblogs.com/humble/p/4820105.html
Copyright © 2020-2023  润新知