Возможно ли для WCF транспортировать виртуальные свойства?
В моем проекте есть следующие классы:
[DataContract]
class Country
{
[Key, DataMember] public int CountryId { get; set; }
[DataMember] public string CountryName { get; set; }
}
[DataContract]
class Employee
{
[Key, DataMember] public int EmployeeId { get; set; }
[DataMember] public string EmployeeName { get; set; }
[DataMember] public int ResidingInCountryId { get; set; }
[ForeignKey("ResidingInCountryId"), DataMember]
public virtual Country ResidenceCountry { get; set; }
}
У меня уже есть Include
в моем WCF:
db.Employees.Include("ResidenceCountry").Where(x => x.EmployeeId == 1);
Но я получил эту ошибку:
Основное соединение было закрыто: Соединение было неожиданно закрыто.
Эта ошибка исчезла, если я не используюvirtual
Если это кого-то заинтересует, я не сталкиваюсь с ошибкой в NHibernate при использовании virtual
и Fetch
combo
[ОБНОВЛЕНИЕ: 2011-05-1215:05]
Я решил свою проблему, используя решение здесь: http://www.gavindraper.co.uk/category/entity-framework/
Единственная разница в том, что я использую this.Configuration.ProxyCreationEnabled = false;
вместо this.ContextOptions.ProxyCreationEnabled = false;
.Я использую Entity Framework 4.1