MagicalRecord 多表关联数据操作
最近在使用MagicalRecord做数据持久层CoreData的操作库,今天做了一个多表关联数据的操作,整理了一个demo,特此记录一下。
关于如何使用Cocopads 和 MagicalRecord 库的引入就不做说明了。
1、首先创建一个数据Model,-file->new->CoreData ->选择data model,取名DemolModel
2、分别创建两个实体,UserEntity和MessageEntity
这里的两个表分别代表用户表和用户接受的消息列表,它们是一对多的关系,意思是一个用户会拥有很多条消息。下面设置他它们关系。
3、设置RelationHips
设置UserEntity对MessageEntity的关系是一对多,to many,如下图。新建时候,relationship可以随意取名,一般会取它要关联那个实体的名字(即Message),Destination:是选择需要关联的实体,Inverse:是选择在关联表里面建好的relationship。这是UserEntity的设置。
下面设置MessageEntity,它对于UserEntity是多对一的关系,设置如下
设置完实体之间的关系后,就可以生成它们对应的Model文件了。选择:Editor->Create NSManagedObject Subclass..,然后全选,下一步到完成即可。
自动生成的Model文件:
4、上面工作完成后,可以开始写程序了,
a、引入MagicalRecord库,配置基本设置
#import <MagicalRecord/MagicalRecord.h>
在AppDelegate的application didFinishLaunchingWithOptions设置CoreData本地数据库
[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];
在程序退出的时候设置:
- (void)applicationWillTerminate:(UIApplication *)application {
[MagicalRecord cleanUp];
}
b、添加数据到数据库
c、查询数据
d、输出结果
MagicalRecordDemo[1116:31713] 用户数: 1
MagicalRecordDemo[1116:31713] demowork
MagicalRecordDemo[1116:31713] Hello
MagicalRecordDemo[1116:31713] Bye Bye
demo地址:https://github.com/ulongx/MagicalRecordDemo.git
原文链接:http://www.jianshu.com/p/32cf4bf84b12
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
MagicalRecord 多表关联数据操作的更多相关文章
- Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)
Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...
- Django——8 关系表的数据操作 表关联对象的访问 多表查询
Django 关系表中的数据操作 表关联对象的访问 关联对象的add方法 create方法 remove方法 clear方法 多表查询 查询补充 聚合查询 分组查询 F查询 Q查询 关系表的数据操作 ...
- EF里单个实体的增查改删以及主从表关联数据的各种增删 改查
本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
- Oracle中如何实现Mysql的两表关联update操作
在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...
- MySQL表的创建和表中数据操作
这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑 ...
- hibernate的基础学习--多表关联数据查询
Hibernate共提供4种多表关联数据查询方式 OID数据查询+OGN数据查询方式 HQL数据查询方式 QBC数据查询方式 本地SQL查询方式(hibernate很少用) 1.OID数据查询+OGN ...
- Django模型基础(三)——关系表的数据操作
模型之间可以有三种表关系,即一对一,一对多和多对多.表关联之间的数据操作在Django中可以很方便的操作到.在模型中,表关联的字段类型是关联表的实例,而不是字段本身类型.关联字段在数据库中会在其后补上 ...
- mysql 库,表,数据操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表实体类映射 下一篇:Farseer.net轻量级ORM开源框 ...
随机推荐
- Digital Roots 1013
Digital Roots 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:456 测试通过:162 描述 T ...
- ASP值view State
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- JSON下
JSON下:目录一:把 JSON 文本转换为 JavaScript 对象二:JSON 实例 - 来自字符串的对象 一.把 JSON 文本转换为 JavaScript 对象JSON 最常见的用法之一,是 ...
- 2016年江西理工大学C语言程序设计竞赛(初级组)
问题 A: 木棒根数 解法:把所有的情况保存下来,加一下就好 #include<bits/stdc++.h> using namespace std; map<char,int> ...
- MySQL 常用命令
mysql -uroot -pXXXXXXXXX //登陆mysql mysqladmin -u 用户名 -p 旧密码 password 新密码 创建数据库并分配用户 create database ...
- [问题2014A05] 复旦高等代数 I(14级)每周一题(第七教学周)
[问题2014A05] (1) 设 \(x_1,x_2\cdots,x_n,x\) 都是未定元, \(s_k=x_1^k+x_2^k+\cdots+x_n^k\,(k\geq 1)\), \(s_0 ...
- XML学习笔记(三) -- Schema
标签(空格分隔): 学习笔记 Schema的格式 XML Schema文档是由元素.属性.命名空间和XML文档中的其他节点构成的. XML Schema有两种重要的Schema模型:Microsoft ...
- log4j2的使用
预备知识 日志级别:log4j默认六个级别,即trace.debug.info.warn.error.fatal ,对应意味着该消息为追踪.调试.普通信息.警告.错误.严重错误.可以根据需要子定义其他 ...
- 【OOAD】OOAD概述
什么是面向对象? OOP:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序 ...
- implicit operator
class Digit { public Digit(double d) { val = d; } public double val; // ...other members // User-def ...