왜 내 DbContext에 저장된 저장 프로 시저가 보이지 않습니까? DbContext는 CTP5 릴리스 (POCO 클래스 포함)에서 도입 된 템플릿에 의해 생성됩니다. 항목이 내 상황에서 추가되는 경우 http://thedatafarm.com/blog/data-access/checking-out-one-of-the-new-stored-procedure-features-in-ef4/POCO 클래스가있는 DbContext에서 저장 프로 시저를 볼 수 없습니다.
이 또한 내가 검색 한 이러한 결과 다음과 같습니다 :
이<Function Name="GetClientsForEmailSend" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" />
<FunctionImport Name="GetClientsForEmailSend" EntitySet="Client" ReturnType="Collection(DBMailMarketingModel.Client)" />
<FunctionImportMapping FunctionImportName="GetClientsForEmailSend" FunctionName="DBMailMarketingModel.Store.GetClientsForEmailSend">
비슷한 질문은이 튜토리얼에서 말했듯이
내가 저장 프로 시저를 추가 :Why won't EF4 generate a method to support my Function Import?
하지만 내가했던 모든 결과가 나왔다.
이 저장 프로 시저입니다 :
ALTER PROCEDURE GetClientsForEmailSend
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT OFF;
-- Insert statements for procedure here
SELECT *
FROM dbo.Client AS c
INNER JOIN Subscription AS i on c.IDClient = i.IDClient
WHERE c.Email is not null and c.Email <> '' and i.Active = 1
END
GO
나는 무엇을 놓치고?
감사
답변 해 주셔서 감사합니다. 당신 말이 맞아,하지만 불행히도 나는 exptected 결과를받지 못했습니다. 내가 원하는 결과는 활성 구독 (즉, bool 활성) 클라이언트를로드하는 것입니다, 그래서 클라이언트가 3 구독을 가지고 있지만 2 활성화되어 있습니다 dbcontext가 latters.L 위의 SP를 시도하고 그 결과를 저장하는 변수는 null이고 LINQ도 마찬가지입니다. var result = 클라이언트의 e let sub = e.Subscriptions sub.ToList() .FindAll ((s) => s.Active == true) .Count> 0 select e; 해결책을 제안 해 주시겠습니까? 감사! – stuzzo
@stuzzo : 필터링 된 하위 항목이있는로드 된 상위 엔티티는 프로젝션으로 완료해야합니다. 이 질문을 확인하십시오 : http://stackoverflow.com/questions/4720573/linq-to-entities-how-to-filter-on-child-entities –
감사합니다. 도움을 주시면 문제를 해결했습니다. – stuzzo