Je viens de commencer à jouer avec le cadre des entités, et j'ai décidé de le connecter à ma base de données SQL Server CE existante. J'ai une table avec une clé primaire IDENTITY(1, 1) mais quand j'ai essayé d'ajouter une entité, j'ai eu l'erreur mentionnée ci-dessus.
De Article de MS Technet J'ai appris que
SQL Server Compact ne prend pas en charge les entités dont les clés ou les valeurs sont générées par le serveur lorsqu'il est utilisé avec Entity Framework. Lors de l'utilisation de l'Entity Framework, les clés d'une entité peuvent être marquées comme générées par le serveur. Cela permet à la base de données de générer une valeur pour la clé lors de l'insertion ou de la création de l'entité. En outre, zéro ou plusieurs propriétés d'une entité peuvent être marquées comme des valeurs générées par le serveur. Pour plus d'informations, voir la rubrique Store Generated Pattern dans la documentation d'Entity Framework. SQL Server Compact ne prend pas en charge les entités avec des clés ou des valeurs générées par le serveur lorsqu'il est utilisé avec l'Entity Framework, bien que l'Entity Framework vous permette de définir des types d'entités avec des clés ou des valeurs générées par le serveur. Une opération de manipulation de données sur une entité ayant des valeurs générées par le serveur déclenche une exception "Not supported".
Alors maintenant, j'ai quelques questions :
- Pourquoi marquer la clé comme générée par le serveur si elle n'est pas prise en charge et qu'elle lève une exception ? Il est difficile de comprendre le paragraphe cité.
- Lorsque j'ai essayé d'ajouter StoreGeneratedPattern="Identity" à la propriété de mon entité, Studio m'a signalé que cette option n'était pas autorisée. Qu'est-ce que je fais de mal ?
- Quelle est la meilleure solution pour pallier à cette limitation (y compris le passage à une autre base de données) ? Mes limites sont l'installation zéro et l'utilisation de l'entity framework.