【发布时间】:2015-04-04 23:48:54
【问题描述】:
我知道这已经被问过很多次了,但我仍然没有找到有效的解决方法。
我正在创建一个将定期启动和停止的桌面应用程序。该数据库是在线存储的 MySQL 数据库,我使用的是最新版本的 EF 和 MySQL 连接器。
我也在以代码为先。目前,我只有 3 个小实体,但随着时间的推移,它们会增长很多。数据库在启动时已经生成,因此无需再创建任何内容。
每次启动应用程序时(即使已部署),从数据库中检索第一批数据(只有 50 条记录,但我也只尝试了 10 条,但没有任何区别)很慢:大约 5秒。之后,接下来的查询会非常快(大约 1 秒)。
我已经尝试过生成视图,但它并没有改变任何东西。我也只创建了 1 个 DbContext。
如果我尝试使用 ADO.NET,我几乎可以立即获得结果,即使是在第一次查询时(检索所有 50 条记录),因此它与连接问题无关。
我不确定我必须提供哪些信息才能让您帮助我,所以请随时询问更多信息。
知道我可以尝试什么吗?用户是否真的需要 5 秒才能开始使用该程序?
【问题讨论】:
-
看这个 - romiller.com/2014/06/10/reducing-code-first-database-chatter 如果你不需要 EF,请不要使用它...
-
为了测试,我已经完成了第一步 - 将 DatabaseInitializer 设置为 null。但是,当我设置断点时,它似乎并没有被执行,并且根本没有区别。我已将文件放在与我的上下文相同的命名空间中......知道我可能做错了什么吗?
-
哦,我已经知道了。。我有这个属性:[DbConfigurationType(typeof(MySqlEFConfiguration))]
标签: c# mysql sql entity-framework ef-code-first