unity3d 免費好用的數據庫處理框架 數據庫直連框架

1、概述

前不久有一個哥們作PC遊戲開發的.使用到Unity3d,html

正好找到我.sql

我給他提供了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);
        }
    }
}

 

2、Unity3D中如何使用.

1.下載moon.orm編碼

下載地址:spa

 http://lko2o.com/moon/article/33d

2.引用moon.orm.dllcode

 

3.放置程序庫到以下位置orm

將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();

}
相關文章
相關標籤/搜索