Si je table db comme:EF4: Pourquoi Translate() n'utilise pas le mappage de table?
CREATE TABLE MyTable
(
MyTableId INT PRIMARY KEY,
MyTableName CHAR(10)
)
et entité dans le cadre de l'entité 4 (POCO, suivi auto) défini comme:
MyTable - maps to MyTable table
- Id - maps to MyTableId
- Name - maps to MyTableName
pourquoi est cette requête:
SqlConnection conn = (SqlConnection)((EntityConnection)context.Connection).StoreConnection;
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM MyTable", conn);
DbDataReader result = cmd.ExecuteReader();
var objResult = context.Translate<MyTable>(result);
Échec de dire:
The data reader is incompatible with the specified 'Project1.MyTable'. A member of the type, 'Id', does not have a corresponding column in the data reader with the same name.
La méthode Translate
ne doit-elle pas prendre en compte les mappages de table définis dans edmx? Est-il possible de faire ce travail sans définir explicitement les colonnes dans la requête?
Je l'ai déjà essayé ExecuteStoreQury et il ne fonctionne pas avec exactement la même erreur (je suppose qu'il utilise Traduire en interne). –
veljkoz