我一直在研究如何在我的C#游戏服务器中使用实体框架来简化查询。我是类型安全的忠实粉丝,实体框架在自动化大部分样板代码方面做得非常出色。虽然我不太清楚如何去利用一些组件,即ObjectContext
。实体框架与游戏服务器
服务器使用了相当多的线程,所以线程安全是一个问题。现在我只是使用自定义池来执行查询。没有进入太多细节,每个查询工作在时尚:
- 抢
DbConnection
- 抢
DbCommand
- 允许查询类设置参数
- 执行
DbCommand
- 允许查询类来处理查询结果,如果有的话
- 免费
DbCommand
- 免费的
DbConnection
这是非常干净,快速,安全的,但问题是,创建查询是有点麻烦,我必须手动生成和更新“容器类”如果我想类型安全。这就是我转向实体框架的原因。
由于不用担心哪个DbConnection
/Command会针对哪个对象或任何对象执行查询,因此这一切都可以使用DbConnection
和DbCommand
。
无论如何,我不知道如何解释它,而不会受到限制。做一些事情,比如每次我通常使用DbConnection
/Command执行一个查询,保存它,并且处理ObjectContext只会增加太多开销,因为我不需要频繁更新数据库。
您将如何使用实体框架来对游戏服务器的数据库要求不高并且不断更新?
你的问题确切的是什么?如果您的数据库不经常更新,那么DataContext不会导致大量开销。你确实处理你的dbcommands和dbconnections? – 2009-07-28 02:27:45