I am trying here to use Entity Framework with Stored procedures and POCOS and 2 different projects.
I have one project DataAccess (for my edmx and DataContexts) and one project BusinessEntities (for my POCOs).
DataAccess have a reference of BusinessEntities.
In my DB I have a pretty standard SP :
CREATE STORED PROCEDURE GetHeader
@id CHAR(35)
AS
BEGIN
SELECT ID, Name FROM mytable WHERE ID = @id
END
The datacontext is :
public class DbContext : ObjectContext
{
public ObjectResult<BusinessEntities.GetHeaderResult> GetHeader(string id)
{
return base.ExecuteFunction<BusinessEntities.GetHeaderResult>("GetHeader", new ObjectParameter("id", id));
}
}
If I only go like this (the EDMX has been updated with the SP but the function has not been imported) I have this error :
System.InvalidOperationException: The FunctionImport 'GetHeader' could not be found in the container 'DbEntities'.
If I import the function correctly I have this error :
System.InvalidOperationException: The type parameter 'BusinessEntites.GetHeaderResult' in ExecuteFunction is incompatible with the type 'DbModel.GetHeaderResult' returned by the function.
I guess that it is only just a simple setting that is missing here but I can't seem to grab it.
Please not that the EDMX file has the correct setting (CodeGenerationStrategy set to none, CustomTool is empty)