Можно ли для 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
[UPDATE: 2011-05-12 3:05 PM]
Я решил свою проблему, используя здесь решение: http://www.gavindraper.co.uk/category/entity-framework/
Единственное различие заключается в том, что я использую this.Configuration.ProxyCreationEnabled = false;
вместо this.ContextOptions.ProxyCreationEnabled = false;
. Я использую Entity Framework 4.1