Entity Framework의 모델 정의 함수에서 하위 쿼리를 정의 할 수 있습니까? 우리는 다른 테이블에 이름의 이력을 가진 고객 객체가있는 상황을 가지고 있습니다. 고객 개체의 일부로 가장 최신 이름을 반환하려고합니다.Entity Framework의 모델 정의 함수에서 하위 쿼리 정의
모델 정의 함수는 다음과 같이 보일 수 있습니다
<Function Name="CurrentName" ReturnType="Edm.String">
<Parameter Name="e" Type="Model.Customer"/>
<DefiningExpression>
(select top(1) n.LegalName from Entities.CustomerNames as n order by n.EffectiveDate Desc)
</DefiningExpression>
</Function>
불행하게도, 위에서 작동하지 않습니다. 우리의 오류 얻을 :
결과 유형을 'Edm.String'결과 유형 'Transient.collection [Transient.rowtype (LEGAL_NAME 일치하지 않습니다 기능'SNCCModel.CurrentLegalName '의 선언에 명시된 , Edm.String (Nullable = True, DefaultValue =, MaxLength =, 유니 코드 = False, FixedLength = False)) '함수 정의
어떤 제안이 있습니까? 이게 효과가 있니? 죄송 합니다만 고객 테이블에 가장 최근의 이름을 저장하기 위해 데이터 모델을 리팩토링하는 것은 옵션이 아닙니다.
감사합니다, 릭