Windows服务和实体框架

时间:2017-10-20 12:34:11

标签: c# asp.net entity-framework

我有一个包含三个项目的解决方案:一个Web应用程序,一个用于创建代码第一个数据库的数据访问层和一个我(希望)用于同步数据库中某些数据的Windows服务。 我还引用了其他两个项目中的数据层。我在Web应用程序配置和服务配置中使用相同的连接字符串。一切都适用于Web应用程序,但是当我访问数据上下文时,所有表都是空的(枚举没有产生任何结果)。我没有错。 所以我的问题是我错过了一些明显的东西吗?

    <add name="DataContext" connectionString="Data Source=(localdb)\MSSQLLocalDB; Database=Purple Moose; Integrated Security=True; User Id=purplemoose; Password=password; MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />

1 个答案:

答案 0 :(得分:0)

您的连接字符串使用当前的Windows用户登录您的数据库。您指定了两者,集成安全性(也称为Windows用户)用户名/密码。

在那种情况下:

  

Windows身份验证优先于SQL Server登录。如果同时指定Integrated Security = true以及用户名和密码,则将忽略用户名和密码,并将使用Windows身份验证。

因此,您将始终使用当前的Windows用户进入您的数据库,这可能是Local System或类似的服务。无论哪种方式,您都需要用户名/密码验证,删除 Integrated Security=true或将其设置为false。

相关问题