如何在C#中使用EntityFramework创建Windows服务

时间:2017-01-25 10:16:26

标签: c# entity-framework windows-services dataset

我需要一个应用程序来读取一些表并从读取的数据中生成一些新数据并将其保存到另一个表中。它就像:我有一个数据库,它给我一些来自一个应用程序的客户端的信息。根据这些信息,我可能会创建一些有关客户端的警报,以便在另一个应用程序中显示它。

我有一个生成第一个数据的服务,它工作正常,它不是我开发的,我不必担心。但我创建了一个Windows服务来读取和创建新数据,它使用像“临时”表这样的数据集,并与数据库进行通信,在进程结束时,所有内容都使用tableAdapter.update();一次保存在数据库中。 / p>

我想改进这个Windows服务,因为DataSets似乎不是我观点中的最佳选择,我研究过Entity Framework及其优点,但我不确定它是否是构建windows的最佳方法服务。构建这样的应用程序的最佳实践是什么?什么是不向数据库生成每个记录的最佳方法,但保存一堆记录并将其保存在内存之前?我的意思是,喜欢在运行时和进程结束时使用临时表,保存生成的所有内容。

1 个答案:

答案 0 :(得分:-1)

您的问题对于SO来说过于宽泛,很可能会被关闭。我将指出一些技巧来帮助您入门。尝试使用specific questions(编写代码,特定错误等)

  1. DataSet与EF - 在代码重构之前,请查看here,了解每种方式的优缺点。对于简单的应用程序(服务),可能根本不需要它(

  2. 缓存 - 避免通过缓存实现对数据库的多次读/写操作。一种方法是HttpRuntime.Cache解释here。不要担心名称空间中的Web,也可以引用它来在非Web应用程序中使用,如here所述。

  3. 但是,在处理缓存时,如果服务突然停止,那么会丢失哪些信息会更加小心。