2015-06-09 2 views
1
public class Account 
{ 
    [DataMember] 
    public int AccountId { get; set; } 
    [DataMember] 
    public string Email { get; set; } 
    [DataMember] 
    public string Password { get; set; } 
    [DataMember] 
    public string ConfirmPassword { get; set; } 

    [ForeignKey("ServiceProvider")] 
    [DataMember] 
    public int ServiceProviderId { get; set; } 
    [DataMember] 
    public virtual ServiceProvider ServiceProvider { get; set; } 
} 

Когда пытался сслужбы WCF не возвращаются ServiceProvider виртуальной собственности

this.context.Configuration.LazyLoadingEnabled = false; 
this.context.Configuration.ProxyCreationEnabled = false; 

он вернется ServiceProvider в null

+0

Он возвращает ошибку, когда this.context.Configuration.LazyLoadingEnabled = true; // this.context.Configuration.ProxyCreationEnabled = true; Основное соединение было закрыто: произошла непредвиденная ошибка при получении. – user3906377

+0

Опубликуйте здесь свой объект ServiceProvider. –

+0

Если вы подвергаете EntityFramework WCF, вы должны изучить [WCF DataServices] (https://msdn.microsoft.com/en-us/library/dd673932 (v = vs.110) .aspx), это особенно чтобы справиться с такими проблемами, как тот, с которым вы столкнулись. –

ответ

1

Использование нетерпеливого загрузка с Включить метод:

using System.Data.Entity; 
//... 
context.Accounts.Include(x => x.ServiceProvider).Where(...) 

Посмотреть эту тему для разъяснение: What are the downsides to turning off ProxyCreationEnabled for CTP5 of EF code first

+0

Мои данные из БД успешно подходят к методу услуг, но не в состоянии отправить его клиенту – user3906377

+0

Вы можете иметь сериализации вопросы, misconficuration клиентских \ сервера или проблемы на стороне клиента модели. Убедитесь, что параметр [DataContract] установлен везде. Проверьте, работает ли учетная запись без поставщика или нет. Проверьте модель клиентской стороны (учетная запись имеет член-провайдер). – FireAlkazar

+0

Да, его рабочая fyn без провайдера, и я знаю ее проблему с сериализацией, но какая проблема :-) Я правильно использовал DataContract и DataMember, и когда я использую lazy load = false, serviceprovider имеет значение null, но он успешно достигает клиента – user3906377

Смежные вопросы