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软件,安装之后可以查看对应 ...
随机推荐
- 一步一步教你用CSS画爱心
今天小颖给大家分享一个用CSS画的爱心,底下有代码和制作过程,希望对大家有所帮助. 第一步: 先画一个正方形.如图: <!DOCTYPE html> <html> <he ...
- C#多线程之线程池篇1
在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点: 在线程池中调用委托 在线程池中执行异步操作 线程池和并行度 实现取消选项 使用等待句柄和超时 使用计时 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- JavaScript中事件处理
先看看下面一道题目,请评价以下代码并给出改进意见: if (window.addEventListener) {//标准浏览器 var addListener = function(el, type, ...
- Twproject Gantt开源甘特图功能扩展
1.Twproject Gantt甘特图介绍 Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CS ...
- 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的 ...
- 6_Win7下Chrome主页被流氓网站hao123.com劫持后的解决方法。
今天安装了一个PDF阅读器,免费的,你懂的,结果自己安装的时候没有将默认的选项取消,就被hao123流氓网站劫持啦. 说实话某免费PDF阅读器还算好的,有一个可以供你选择的项.不想某些软件直接就默认选 ...
- APEX:对object中数据进行简单处理?
在Salesforce中,常常要对各种数据进行处理,已满足业务逻辑.本篇文章会介绍如何实现从object获取数据,然后将取得的数据进行一系列简单处理. 第一步:SongName__c 是一个新建的ob ...
- Greenplum 的分布式框架结构
Greenplum 的分布式框架结构 1.基本架构 Greenplum(以下简称 GPDB)是一款典型的 Shared-Nothing 分布式数据库系统.GPDB 拥有一个中控节点( Master ) ...
- 机器指令翻译成 JavaScript —— No.2 跳转处理
上一篇,我们发现大多数 6502 指令都可以直接 1:1 翻译成 JS 代码,但除了「跳转指令」. 跳转指令,分无条件跳转.条件跳转.从另一个角度,也可分: 静态跳转:目标地址已知 动态跳转:目标地址 ...