2017-02-11 2 views
0

Je suis en train de jouer un peu avec entity framework 6.1.3 en combinaison avec EntityFramework.SQLServerCompact 6.1.3 pour SQL Server Compact 4.0. J'ai une base de données avec une table nommée SingleEntities avec quelques colonnes de base. Cette table a obtenu 4 lignes en tant que testdata. Lorsque j'essaie de récupérer les 4 lignes avec le code suivant:Requête Sql générée par entity framework contient [dbo] et ne retourne aucun résultat

var entities = context.SingleEntities.ToList(); 

Aucune ligne n'est renvoyée et aucune erreur n'est affichée. Quand je vérifie la requête ce code crée, je vois la requête suivante:

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] 

Quand je lance cette requête directement sur la base de données, je reçois cette erreur:

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

Lorsque je retire la [dbo]. partie dans la requête, la requête me donne le résultat que je veux.

Comment puis-je dire à entity framework de ne pas ajouter le [dbo]. partie à la requête? J'ai essayé de le faire avec un IDbCommandInterceptor mais je n'ai toujours pas obtenu de résultat.

+0

Etes-vous sûr que vous êtes à la recherche des données dans la base de données correcte - s'il vous plaît partager votre chaîne de connexion – ErikEJ

+0

Vous regardez le problème de la mauvais angle. La table est-elle dans le schéma dbo? –

+0

@ErikEJ votre réponse m'a incité à vérifier à nouveau. La chaîne de connexion était valide pour l'exécutable. Mais dans mon processus, je suis passé de l'exécutable au test unitaire et j'ai oublié qu'ils ont besoin de leur propre app.settings avec les chaînes de connexion. Donc, en fait, la base de données était vide après tout. – Cornelis

Répondre

0

Vous êtes à la recherche des données dans la base de données mal - s'il vous plaît vérifier votre chaîne de connexion

+0

C'est vrai, comme je l'ai dit dans une réponse précédente sur la question elle-même. – Cornelis