0

我很好奇 NSManagedObjects 的结构,特别是它们的嵌套。这是我第一次设计数据模型,所以让我在我的问题之前解释一下。假设我有一个供用户使用的 NSManagedObject。用户有许多不同的属性:

  • 名字:NSString
  • 姓氏:NSString
  • 生物:NSString
  • 照片:NSData
  • 电子邮件:NSString
  • 注册时间戳:NSDate
  • 密码:NSString
  • 用户名:NSString
  • 追随者:用户(多关系)
  • 他们关注的人:用户(许多关系)

该对象中有很多属性,而且可能还有更多。所以我的问题本质上是,嵌套 NSManagedObjects 是否安全,甚至适当?因此,我拥有的不是所有这些属性:

  • 信息:用户信息
  • 注册:用户注册
  • 追随者:用户
  • 以下:用户

其中 UserInformation 和 UserRegistration 将是单独的 NSManagedObjects,它们包含一些原始属性。我知道这可能不是嵌套对象的最佳情况,但如果我有更复杂的对象,如果它们是嵌套的,会更容易理解。

提前感谢您的输入!

4

2 回答 2

0

正确的做法是绘制您的 ER 模型并定义实体。如果这样做,您为 UserInformation 和 UserRegistration 定义一个与用户一对一关系的实体,那么这样做没有问题。对于追随者和以下情况,您必须定义自我关系(一对多自我实体https://stackoverflow.com/a/4504770/474740)。

使用关系定义模型并用特定类型(一对一、一对多)标记它们。

请记住,在保存和获取数据时如何更容易。

于 2012-07-14T04:28:13.793 回答
0

这是正确且安全的,但如果您不打算使它们成为原子的、可重用的或有其他一些可以从中受益的设计,则建议不要这样做。这就是为什么...您将不得不编写更长的语句来访问您的属性,获取的数据库操作必须包含连接以获取关系属性,并且您并没有真正建模正确的对象...但是如果您出于某种原因需要,而不仅仅是不喜欢具有大量属性的模型,那么请继续。

于 2012-07-14T14:28:38.507 回答