核心数据关系命名约定
Core Data Relationship Naming Convention
iOS菜鸟签到。
我一直在学习很棒的 Core Data 框架,想知道是否有任何 Core Data 关系名称的命名约定。
不太清楚,因为在通常的 SQL 数据库中,您不会明确定义关系的名称,尽管我知道 Core Data 并不是真正意义上的数据库。
提前致谢!
好的,所以实际上并没有命名约定本身这样的东西。但只需使用关系连接到的实体名称即可。
例如,User <->> Note,其中 User 实体与 Note 有一对多关系,我们可以将 User 到 Note 的关系命名为 'notes',而将 Note 到 User 命名为 'user'。复数用于与对多类型的关系。
我觉得自己很蠢。
首先:CD是一个ORM。所以它对数据的看法是对对象图的看法,而不是对 SQL 关系的看法。
其次:因此没有特殊的命名约定。 Objective-C 的命名约定照常使用,因为它模拟了一个普通的对象图,见上文。
第三:你说得对,一对多关系有复数形式,而一对一关系有单数形式。但是用目的地的名字table^Wtype来命名是不正确的,如果你住在外面hungary。 ;-) 在许多情况下——如您的示例——结果是 "type name",但没有这样的规则。再举个例子:
您有一个实体类型 Group
,它引用 Person
类型的成员并且有一个 Person
类型的领导者。应用您的规则,结果将是(使用或不使用核心数据):
@interface Group
@property Person *person;
@property NSSet *persons;
@end
这显然是错误的。名称应为:
@interface Group
@property Person *leader;
@property NSSet *members;
@end
这显然不是类型名称。
iOS菜鸟签到。
我一直在学习很棒的 Core Data 框架,想知道是否有任何 Core Data 关系名称的命名约定。
不太清楚,因为在通常的 SQL 数据库中,您不会明确定义关系的名称,尽管我知道 Core Data 并不是真正意义上的数据库。
提前致谢!
好的,所以实际上并没有命名约定本身这样的东西。但只需使用关系连接到的实体名称即可。
例如,User <->> Note,其中 User 实体与 Note 有一对多关系,我们可以将 User 到 Note 的关系命名为 'notes',而将 Note 到 User 命名为 'user'。复数用于与对多类型的关系。
我觉得自己很蠢。
首先:CD是一个ORM。所以它对数据的看法是对对象图的看法,而不是对 SQL 关系的看法。
其次:因此没有特殊的命名约定。 Objective-C 的命名约定照常使用,因为它模拟了一个普通的对象图,见上文。
第三:你说得对,一对多关系有复数形式,而一对一关系有单数形式。但是用目的地的名字table^Wtype来命名是不正确的,如果你住在外面hungary。 ;-) 在许多情况下——如您的示例——结果是 "type name",但没有这样的规则。再举个例子:
您有一个实体类型 Group
,它引用 Person
类型的成员并且有一个 Person
类型的领导者。应用您的规则,结果将是(使用或不使用核心数据):
@interface Group
@property Person *person;
@property NSSet *persons;
@end
这显然是错误的。名称应为:
@interface Group
@property Person *leader;
@property NSSet *members;
@end
这显然不是类型名称。