문제

ado.net의 사전 릴리스를 사용하고 있으며 ado.net 데이터 서비스에서 어떻게 사용하는지 이해할 수 없습니다.

ObjectContext의 코드

 public class TradingContext : ObjectContext
    {
        private static TradingContext _Context;

        public static TradingContext Current
        {
            get 
            {
                if (_Context == null)
                {
                    _Context = BuildContext();
                }
                return _Context;
            }    
        }

        public TradingContext(EntityConnection conn) : base(conn)
        {

        }

        public IObjectSet<Message> Messages
        {
            get { return CreateObjectSet<Message>(); }
        }

        private static TradingContext BuildContext()
        {
            var builder = new ContextBuilder<TradingContext>();
            builder.Entity<Message>().Property(x => x.MessageId).IsIdentity();
            builder.Entity<Message>().Property(x => x.Xml).HasStoreType("xml");

            return builder.Create(new SqlConnection(@"connection string information"));
        }

ADO.NET 데이터 서비스 코드

 [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]   
    public class Trading : DataService<TradingContext>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }

문제는 ADO.NET 데이터 서비스가 매개 변수가없는 생성자를 기대한다는 것입니다. 생성자를 제공하면 기본 생성자에게 무엇을 쓸 것인가?

그리고 기본 생성자를 지정하더라도 buildContext없이 컨텍스트가 완료되지 않습니다.

이 사전 릴리스에서 ADO.NET 데이터 서비스로 지원되지 않는 엔티티 프레임 워크 "코드 만 놓치지 않거나 엔티티 프레임 워크가없는 것은 무엇입니까?

도움이 되었습니까?

해결책

DataService 클래스에서 Protected Method : CreatatAsource ()를 무시하고 ObjectContext의 인스턴스를 반환 할 수 있습니다. 이를 통해 기본 제공 업체 생성자 (이 경우 EF)가 수많은 생성자를 취하는 시나리오가 가능합니다.

도움이 되었기를 바랍니다.

감사합니다 Pratik

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top