【发布时间】:2013-05-15 18:46:42
【问题描述】:
我的游戏是回合制的,但它确实有一些实时元素,比如聊天,所以它需要速度。理想情况下,一台服务器应该支持几千个在线玩家。
我知道数据集倾向于将大量数据存储在内存中,但我认为这就是我需要避免每毫秒执行两次 db 调用所需要的。我正在远离 Entity Framework,因为我似乎对引擎盖下发生的事情没有太多控制权,而且不知何故它让我觉得效率较低。
现在我知道这些(也不是一般的 c#)都不是生活中存在的最快速的解决方案,但我确实需要一点便利。
顺便说一句,由于其他一些不确定的依赖关系,我不能轻易使用 .Net 4.0。这些可以修复,但老实说,我不想花时间解决这个问题。我宁愿坚持使用 3.5,我的依赖项可以很好地使用。
【问题讨论】:
-
如果性能受到关注,请远离 EF。只需将 ADO.Net 与您自己的 SQL / 存储过程一起使用。
-
您是否尝试将类型化数据集用作内存缓存以避免一直访问数据库?
-
是的@Tombala,这正是我正在做的事情。
-
@dbaseman 但如果我对使用实体框架或类型化数据集很执着,你会强烈支持数据集吗?
-
@user1379635 真的取决于。数据集有多大?大多数数据库交互是读取(您可以缓存),还是有很多写入?这个问题(恕我直言)需要更具体/充实才能得到一个好的答案。
标签: c# entity-framework strongly-typed-dataset