내 사이트의 저장소에있는 내 objectcontext 개체에서 ObjectContext.ExecuteFunction을 호출하려고합니다.ExecuteFunction 메서드는 ObjectContext의 자식 클래스에서 base.ExecuteFunction을 통해서만 사용할 수 있습니까?
리포지토리는 일반적이므로 Entity Framework에서 실제로 특정 개체를 나타내는 컨테이너가 아니라 ObjectContext 개체 만 있습니다. 여기
는 ExecuteFunction 방법을 사용하는 생성 된 코드의 예 :public class Repository<E, C> : IRepository<E, C>, IDisposable
where E : EntityObject
where C : ObjectContext
{
private readonly C _ctx;
// ...
public ObjectResult<E> ExecuteFunction(string functionName, params[])
{
// Create object parameters
return _ctx.ExecuteFunction<E>(functionName, /* parameters */)
}
}
누구나 알고 ...
[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public global::System.Data.Objects.ObjectResult<ArtistSearchVariation> FindSearchVariation(string source)
{
global::System.Data.Objects.ObjectParameter sourceParameter;
if ((source != null))
{
sourceParameter = new global::System.Data.Objects.ObjectParameter("Source", source);
}
else
{
sourceParameter = new global::System.Data.Objects.ObjectParameter("Source", typeof(string));
}
return base.ExecuteFunction<ArtistSearchVariation>("FindSearchVariation", sourceParameter);
}
을하지만, 내가 뭘하고 싶은 것은이 같은 이유 I 대신 ExecuteFunction
을 base
에서 불러야합니까?
또한 작성한 것처럼 어떤 방법으로도 처리 할 수 있습니까? 나는 저장소를 일반적으로 유지하고 싶지만 저장 프로 시저를 실행하면 점점 더 어려워지고있다. ...
업데이트 : 다음은 시도한 것이고 intellisense/it에 표시되지 않는 방법이다. 나는 그것으로
public ArtistSearchVariation findSearchVariation(string source)
{
System.Data.Objects.ObjextContext _ctx = new ObjectContext(/* connection string */);
System.Data.Objects.ObjectParameter sourceParam = new ObjectParameter("Source", source);
return _ctx.ExecuteFunction<ArtistSearchVariation>("FindSearchVariation", sourceParam);
}
감사합니다,
매트를 컴파일 할 때 나에게 오류를 제공
예, 기능이 표시되지 않습니다. 나는 나의 질문에서 내가 시도한 것을 보여 주었다. – Matt