[英]Windows service and 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" />
您的連接字符串使用當前的Windows用戶登錄您的數據庫。 您指定了集成安全性(也稱為Windows用戶) 和用戶名/密碼。
在這種情況下:
Windows身份驗證優先於SQL Server登錄。 如果同時指定Integrated Security = true以及用戶名和密碼,則將忽略用戶名和密碼,並將使用Windows身份驗證。
因此,您將始終使用當前的Windows用戶進入您的數據庫,這可能是Local System
或類似的服務。 無論哪種方式,因為您需要用戶名/密碼身份驗證,請刪除 Integrated Security=true
或將其設置為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.