存储具有许多数据点的用户
Storing users with many data points
我正在尝试从游戏中获取用户并跟踪他们的统计数据。每个用户都有自己的统计数据,因此需要单独跟踪。最终每个用户都有一个数据集,每个数据集都有很多数据点。在代码中我最终得到..
public class User
{
public string Name { get; set; }
public List<DataPoint> Data { get; set;}
}
public class DataPoint
{
public byte Month { get; set; }
public byte Day { get; set; }
public short Year { get; set; }
public Stats stats { get; set; }
}
public class Stats
{
//user stats, just numbers.
}
(我使用自己的月日和年,因为我不需要额外的 DateTime。)
这适用于将所有内容存储在内存中,我只是想不出一个好的方法来保存它。我一直在尝试在关系数据库(SQL)中这样做。真正让我失望的是这份清单。那个 table 是否应该只有一堆对数据点键的引用?应该只序列化它并存储序列化数据吗?我花了一些时间研究其他人如何存储数据点,但我找不到任何有用的东西。
我正在使用 C# Entity Framework。
- 如果在数据库上持久化对象,I would use Json as opposed to pure XML(serialization)。它更简洁、存储更轻且易于阅读
- 我当然同意放弃关系数据库用于此用途,并会考虑 NoSQL or key-value store options。如果您的要求如此之低,那么它们速度快、占地面积小、规模更便宜、效果更好。
- 对于
Entity Framework
、Code First
、NoSQL
解决方案,请尝试 BrightstarDb。
- 最后,你知道吗,有一个专门的Gamedev section in the Stack Exchange network? Here's some goodie我从那里给你挖的。
如果我没理解错的话,可以在关系数据库中使用以下结构,您可以在 dataPoint 实体上使用外键来引用与 dataPoint 相关的用户。这假设统计数据集合非常一致。
我正在尝试从游戏中获取用户并跟踪他们的统计数据。每个用户都有自己的统计数据,因此需要单独跟踪。最终每个用户都有一个数据集,每个数据集都有很多数据点。在代码中我最终得到..
public class User
{
public string Name { get; set; }
public List<DataPoint> Data { get; set;}
}
public class DataPoint
{
public byte Month { get; set; }
public byte Day { get; set; }
public short Year { get; set; }
public Stats stats { get; set; }
}
public class Stats
{
//user stats, just numbers.
}
(我使用自己的月日和年,因为我不需要额外的 DateTime。)
这适用于将所有内容存储在内存中,我只是想不出一个好的方法来保存它。我一直在尝试在关系数据库(SQL)中这样做。真正让我失望的是这份清单。那个 table 是否应该只有一堆对数据点键的引用?应该只序列化它并存储序列化数据吗?我花了一些时间研究其他人如何存储数据点,但我找不到任何有用的东西。
我正在使用 C# Entity Framework。
- 如果在数据库上持久化对象,I would use Json as opposed to pure XML(serialization)。它更简洁、存储更轻且易于阅读
- 我当然同意放弃关系数据库用于此用途,并会考虑 NoSQL or key-value store options。如果您的要求如此之低,那么它们速度快、占地面积小、规模更便宜、效果更好。
- 对于
Entity Framework
、Code First
、NoSQL
解决方案,请尝试 BrightstarDb。 - 最后,你知道吗,有一个专门的Gamedev section in the Stack Exchange network? Here's some goodie我从那里给你挖的。
如果我没理解错的话,可以在关系数据库中使用以下结构,您可以在 dataPoint 实体上使用外键来引用与 dataPoint 相关的用户。这假设统计数据集合非常一致。