Comment utiliser Entity Framework avec des procédures Stockées et des Poco

J'essaie ici d'utiliser Entity Framework avec des procédures Stockées et des POCO et 2 projets différents.

J'ai un projet DataAccess (pour ma edmx et DataContexts) et un projet BusinessEntities (pour ma POCOs).

DataAccess avoir une référence de BusinessEntities.

Dans ma DB j'ai un assez standard SP :

CREATE STORED PROCEDURE GetHeader
    @id CHAR(35)
AS
BEGIN
    SELECT ID, Name FROM mytable WHERE ID = @id
END

Le datacontext est :

public class DbContext : ObjectContext
{
public ObjectResult<BusinessEntities.GetHeaderResult> GetHeader(string id)
{
return base.ExecuteFunction<BusinessEntities.GetHeaderResult>("GetHeader", new ObjectParameter("id", id));
}
}

Si je n'y vais comme ça (l'EDMX a été mis à jour avec le PS, mais la fonction n'a pas été importé) j'ai cette erreur :

System.InvalidOperationException: The FunctionImport &#39;GetHeader&#39; could not be found in the container &#39;DbEntities&#39;.

Si je importer la fonction correctement, j'ai cette erreur :

Système.InvalidOperationException: Le paramètre de type 'BusinessEntites.GetHeaderResult " dans ExecuteFunction est incompatible avec le type 'DbModel.GetHeaderResult " retournée par la fonction.

Je suppose que c'est juste un simple réglage, qui manque ici, mais je n'arrive pas à l'attraper.

S'il vous plaît pas que le fichier EDMX a le bon réglage (CodeGenerationStrategy défini sur aucun, CustomTool est vide)

InformationsquelleAutor Erick | 2011-11-30