2010-03-08 3 views
4

J'ai créé un projet avec un fichier de base de données SDF local et j'essaie d'y accéder en utilisant un fichier LINQ To SQL (".dbml"). Je l'ai utilisé la chaîne de connexion fournie par le fichier sdf et peut instancier l'objet avec un problème:exception avec Linq to SQL en utilisant le fichier sdf

thisDataContext = new MyDataContext(GetConnectionString()); 

Cependant, chaque fois que je tente d'accéder à de l'information il par exemple

var collection = (from MyObject p in thisDataContext.MyTable select p); 

Je reçois la erreur -

"Le nom de la table n'est pas valide [numéro de ligne Token (si elle est connue) = 2, ligne jeton de décalage (si connu) = 14, table name = personne]"

J'utilise Visu al Studio 2008 SP1 .Net 3.5 et SQL 2008 CE.

Je rassemble quelque chose de similaire s'est produit pour SQL 2005 CE et un correctif a été publié, mais j'aurais pensé que le correctif aurait été corrigé dans cette version avant la publication.

Est-ce que quelqu'un sait le correctif pour cela?

Merci

Répondre

10

se débarrasser de la "dbo" dans le tableau des attributs sur les objets créés par LINQ to Sql

par exemple:

[Table(Name="dbo.Orders")] 
class Order 
{ 

} 

changement qui à:

[Table(Name="Orders")] 
class Order 
{ 

} 
+0

Merci @BFree, qui a fonctionné comme un charme. J'ai cherché une solution pendant un moment. – Ben

+0

Merci pour ce –