2013-01-14 62 views
1

我刚刚用Entity Framework和Code First开发了一个MVC Web应用程序。此应用程序将作业排入表中。Windows服务中的实体框架(客户端 - 服务器应用程序)

现在我正在开发一个读取该作业表的Windows服务,并处理作业。完美的解决方案是在这个Windows服务中使用实体框架。

我的问题是如何在Windows服务中实现实体框架,更重要的是如何在Windows服务(认为是客户端)中使用MVC Web应用程序(认为是服务器)的模型。

我已经看到Code First与ADO.NET Self-Tracking Entity Generator不兼容,它似乎是服务器 - 客户端环境的正确解决方案。我是否需要将Code First EF应用程序更改为STE,或者是否有其他解决方案来获取Windows服务中的模型?

我已经用google搜索了如何在充当客户端的Windows服务中实现EF,但什么都没发现。如何做/教程将是完美的。

非常感谢您

回答

0

1)共享数据层:

您应该将数据层的代码分离到一个单独的组件(项目),并参考这个来自您的Web应用程序和服务。

2)自跟踪实体:

你不应该再使用这些。它们在EF 4.1之前很有用,但现在已经过时。在您的服务中使用您的POCO对象是很好的。

+0

答案1)似乎是一个很好的解决方案。如果我分开模型,就像这个答案解释(http://stackoverflow.com/a/6585397/690023),那就足够了,否则我还需要做其他的事情? – Alberto

+0

您只需要分离出您的数据访问代码,以便您可以像使用Web应用程序一样从Windows服务中使用它。这可能仅仅意味着你的代码优先类和你的DbContext派生类。 –

+0

只为有同样问题的人,它的工作很完美。我遵循http://stackoverflow.com/a/6585397/690023,并在app.config中插入数据库的连接字符串。 – Alberto

相关问题