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=;
db.Add(cl);
Console.WriteLine("添加[班级]成功,ID={0}",cl.ID); Student stu=new Student();
stu.Age=;
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_=;
sco.Student_ID=stu.ID;
db.Add(sco);
Console.WriteLine("添加[分数]成功,ID={0}",stu.ID); //跟新数据
Score update=new Score();
update.Score_=;
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())); }
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());
var name=db.GetScale(mql).ToString();
}
unity3d 免费好用的数据库处理框架 数据库直连框架的更多相关文章
- 数据库历险记(三) | 缓存框架的连环炮 数据库历险记(二) | Redis 和 Mecached 到底哪个好? 数据库历险记(一) | MySQL这么好,为什么还有人用Oracle? 面对海量请求,缓存设计还应该考虑哪些问题?
数据库历险记(三) | 缓存框架的连环炮 文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3n ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- 您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
转载至: http://www.cnblogs.com/Imaigne/p/4153397.html 您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mys ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- activiti5.13 框架 数据库设计说明书
转载自:http://www.cnblogs.com/llzgzljl/p/3356108.html activiti5.13 框架 数据库设计说明书 1.结构设计 1.1. 逻辑结构设计 Ac ...
- Laravel框架数据库CURD操作、连贯操作总结
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...
- “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象
目录: “Zhuang.Data”轻型数据库访问框架(一)开篇介绍 “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象 先来看一段代码 DbAccessor dba ...
- php框架中的phalcon框架的安装,及初步认识,从表单提交简单的数据到数据库中
php框架中的phalcon框架的安装,及初步认识,从表单提交简单的数据到数据库中 1.phalcon框架的安装: phalcon框架在windows本地安装可以利用wamp软件,安装之后可以查看对应 ...
随机推荐
- MVC Core 网站开发(Ninesky) 1、创建项目
又要开一个新项目了!说来惭愧,以前的东西每次都没写完,不是不想写完,主要是我每次看到新技术出来我都想尝试一下,看到.Net Core 手又痒了,开始学MVC Core. MVC Core最吸引我的有三 ...
- WebApi - 路由
这段时间的博客打算和大家一起分享下webapi的使用和心得,主要原因是群里面有朋友说希望能有这方面的文章分享,随便自己也再回顾下:后面将会和大家分不同篇章来分享交流心得,希望各位多多扫码支持和点赞,谢 ...
- [Egret]优雅的写http
首先,自从使用链式调用的写法后,就一发不可收拾的喜爱上了这种优雅的方式.不管是写架构还是写模块,我都会不自觉的使用这种最优雅的方式.链式写法既减少了代码量,又非常优雅的. 在使用 egret 的htt ...
- [开发笔记]GCC 分支预测优化
#define likely(x) __builtin_expect(!!(x),1)#define unlikely(x) __builtin_expect(!!(x),0) 用于优化在做分支判断的 ...
- CSharpGL(33)使用uniform块来优化对uniform变量的读写
CSharpGL(33)使用uniform块来优化对uniform变量的读写 +BIT祝威+悄悄在此留下版了个权的信息说: Uniform块 如果shader程序变得比较复杂,那么其中用到的unifo ...
- NodeJs支付宝移动支付签名及验签
非常感谢 :http://www.jianshu.com/p/8513e995ff3a?utm_campaign=hugo&utm_medium=reader_share&utm_co ...
- listview下拉刷新和上拉加载更多的多种实现方案
listview经常结合下来刷新和上拉加载更多使用,本文总结了三种常用到的方案分别作出说明. 方案一:添加头布局和脚布局 android系统为listview提供了addfootview ...
- 项目自动化建构工具gradle 入门1——输出helloWorld
先来一个简单的例子,4个步骤: 1.进入D:\work\gradle\java 目录 ,您电脑没这目录? 那辛苦自己一级一级建立起来吧 新建文件build.gradle,文件内容是: apply p ...
- NodeJs 开发微信公众号(四)微信网页授权
微信的网页授权指的是在微信公众号中访问第三方网页时获取用户地理.个人等信息的权限.对于开发了自己的网页app应用时,获取个人的信息非常重要.上篇博客讲到了注册时可以获取用户的信息,很多人会问为什么还需 ...
- Vue.js——vue-resource全攻略
概述 上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用,并实现了一个简单的跨域CURD示例.Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的D ...