我想知道是否有可能(以及如何)在Objective-C中提供如下内容的类:

Person.Select(@"Name").OrderAsc(@"Name").Where(@"Id").EqualTo(1).And(@"Id").NotEqualTo(2).Load<Array>

对于我正在做的项目来说,这可能非常方便.

我喜欢Django&amp;Subsonic的这种编码方式.

推荐答案

简而言之,Objective-C没有类似功能LinQ,但是您可以在一个包装类中混合使用SQLite、NSPredicate和CoreData调用来伪造它.你可能会对core data guidepredicate guidethis example code感兴趣.

从上面的谓词指南中可以看出:

NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Employee"
        inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
// assume salaryLimit defined as an NSNumber variable
NSPredicate *predicate = [NSPredicate predicateWithFormat:
        @"salary > %@", salaryLimit];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *array = [managedObjectContext executeFetchRequest:request error:&error];

Database相关问答推荐

如何在维护数据库模型的同时从Firestore中删除文档?

Android SQLiteno such table异常

数据库模式 - location

JOIN 三张表

如何将正在使用的数据库复制到django中的其他数据库?

mysql搜索表名的段

SQL 历史(history)表设计

数据库设计:喜欢表?

Django:如何以线程安全的方式执行 get_or_create()?

如何在 2 个 MySQL 数据库之间传输数据?

NameError:设置更改为 mysql 后未定义名称_mysql

如何从表列中删除唯一约束?

是否有任何用于 NoSQL 数据库架构迁移的工具?

主键、唯一键和外键约束以及索引之间有什么区别?

数据库中的整数与字符串

从数据库行在 Golang 中创建map

使用十进制数据类型(MySQL / Postgres)是否会影响性能

如何在实体-属性-值设计中处理不同的数据类型(例如,具有多列的单个表或每种数据类型的多个表)?

MySQL:为什么使用 VARCHAR(20) 而不是 VARCHAR(255)?

Guice、JDBC 和管理数据库连接