unity3d 免費好用的資料庫處理框架 資料庫直連框架
阿新 • • 發佈:2018-12-31
一、概述
前不久有一個哥們做PC遊戲開發的.使用到Unity3d,
正好找到我.
我給他提供了Unity3d如何Moon.Orm來智慧化程式設計的方式.
我們先看看怎麼更加便捷sqlite.
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
下載地址:
2.引用moon.orm.dll
3.放置程式庫到如下位置
將moon.orm.dll ,System.Data.SQLite.dll ,SQLite.Interop.dll sqlite資料庫檔案放入unity3d編輯器exe所在位置;
這時候編輯器中就可以直接看到查詢結果了.
注意:以及在最終的目標程式那裡同樣放一份.(生成之後再放)
4.使用程式碼生成器
5.開始編碼
using(var db=new Sqlite("sqlite的連結字串")){ var mql=UserSet.Select(UserSet.Name).Where(UserSet.ID.Equal(9)); var name=db.GetScale(mql).ToString(); }