Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用多个数据点存储用户_C#_Sql_Database_Entity Framework_Orm - Fatal编程技术网

C# 使用多个数据点存储用户

C# 使用多个数据点存储用户,c#,sql,database,entity-framework,orm,C#,Sql,Database,Entity Framework,Orm,我试图从游戏中获取一个用户并跟踪他们的统计数据。每个用户都有自己的统计数据,因此需要单独跟踪。最终每个用户都有一个数据集,每个数据集都有许多数据点。在代码中,我以 public class User { public string Name { get; set; } public List<DataPoint> Data { get; set;} } public class DataPoint { public byte Month { get; set

我试图从游戏中获取一个用户并跟踪他们的统计数据。每个用户都有自己的统计数据,因此需要单独跟踪。最终每个用户都有一个数据集,每个数据集都有许多数据点。在代码中,我以

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.
}
公共类用户
{
公共字符串名称{get;set;}
公共列表数据{get;set;}
}
公共类数据点
{
公共字节月份{get;set;}
公共字节日{get;set;}
公共短年{get;set;}
公共统计数据{get;set;}
}
公共类统计
{
//用户统计,只是数字。
}
(我使用自己的年月日,因为我不需要额外的DateTime。)

这可以把所有东西都存储在内存中,我就是想不出一个好办法来保存它。我一直在尝试在关系数据库(SQL)中实现这一点。这张单子真的把我甩了。一个表是否应该只包含一堆对数据点键的引用?应该只是序列化它并存储序列化的数据吗?我花了一些时间研究其他人如何存储数据点,但我找不到任何有用的东西

我正在使用C#中的实体框架

  • 如果在数据库上持久化对象。它不太冗长,存储更轻松,易于阅读
  • 我当然同意从关系数据库中移开这种用途,并会考虑。如果您的需求如此之小,那么这些需求速度快、占地面积小、规模小、成本更低、效果更好
  • 对于
    实体框架
    代码优先
    NoSQL
    解决方案,请尝试
  • 最后,您知道在堆栈交换网络中有一个专用的服务器吗我从那里为你挖掘

  • 如果我理解正确,那么可以在关系数据库中使用以下结构,您可以在dataPoint实体上使用外键来引用dataPoint相关的用户。这假设stats集合相当一致


    我喜欢json的想法,我认为将它与smj的想法结合起来可能是我能做的最简单的事情。我想我太专注于把他们分开。我也喜欢brightstarDb,它可能也很有用。谢谢很高兴你发现它很有用是的,它可能会变得很大。某些数据点是否比其他数据点使用得更多,例如当前数据点?如果某些数据点只是不经常访问,则可以使用归档策略来减小主表的大小。