2017-02-11 35 views
0

我在實體框架6.1.3中結合使用EntityFramework.SQLServerCompact 6.1.3 for SQL Server Compact 4.0。我有一個名爲SingleEntities的表格,其中包含幾個基本列。該表有4行作爲testdata。當我嘗試使用以下代碼檢索所有4行時:由實體框架生成的SQL查詢包含[dbo]並且沒有返回任何結果

var entities = context.SingleEntities.ToList(); 

沒有行被返回並且沒有顯示錯誤。當我檢查此代碼創建查詢,我看到這個查詢:

SELECT 
[Extent1].[Id] AS [Id], 
[Extent1].[FirstName] AS [FirstName], 
[Extent1].[LastName] AS [LastName], 
[Extent1].[BeginDate] AS [BeginDate], 
[Extent1].[EndDate] AS [EndDate] 
FROM [dbo].[SingleEntities] AS [Extent1] 

當我直接在數據庫上運行此查詢,我收到此錯誤:

Error Code: 80040E14 Message : The table name is not valid. [ Token line number (if known) = 7,Token line offset (if known) = 18,Table name = SingleEntities ] Minor Err.: 26100 Source : SQL Server Compact ADO.NET Data Provider Num. Par. : 7 Num. Par. : 18 Err. Par. : SingleEntities

當我刪除了[DBO]。部分在查詢中,查詢給我我想要的結果。

如何判斷實體框架不添加[dbo]。部分查詢?我試圖用IDbCommandInterceptor做到這一點,但我仍然沒有得到任何結果。

+0

你確定你是在正確的數據庫中查找數據 - 請分享你的連接字符串 – ErikEJ

+0

您正在尋找從問題錯誤的角度。 dbo模式中的表是? –

+0

@ErikEJ你的回答觸發我再次檢查。連接字符串對於可執行文件有效。但在我的過程中,我從可執行文件更改爲單元測試,並忘記了他們需要使用連接字符串自己的app.settings。所以事實上,數據庫畢竟是空的。 – Cornelis

回答

0

你在錯誤的數據庫中查找數據 - 請仔細檢查您的連接字符串

+0

這是事實,就像我在前面關於這個問題的答案中所說的那樣。 – Cornelis