假设您创建了一个RIA DomainService,并在其中包含Person
(如下所示)实体,您是否可以访问该对象上的聚合实体?
例如,如果我有这样的实体(请记住,这是一个天真的表示,它们是通过EF4设计师建模的):
public class Person
{
string FirstName { get; set; }
PhoneNumber { get; set; }
}
public class PhoneNumber
{
public string AreaCode { get; set; }
public string Trunk { get; set; }
public string Number { get; set; }
}
如果我在创建PeopleDomainService时包含Person
,客户端是否可以访问PhoneNumber
(并修改它)?
答案 0 :(得分:2)
您可以使用[Include]属性修饰Person对象的PhoneNumber属性。还要记住在获取Person对象时在LINQ查询中包含include语句。
答案 1 :(得分:1)
是的,您可以引入相关实体。
在PeopleDomainService.metadata.cs文件中,查找PersonMetadata类。在PhoneNumbers属性上,添加“Include”属性:
[Include]:
public EntityCollection<PhoneNumber> PhoneNumbers { get; set; }
在PeopleDomainService.cs中,查找GetPersons函数并修改它以包含PhoneNumbers:
public IQueryable<Person> GetPersons()
{
return this.ObjectContext.Persons.Include("PhoneNumbers");
}
您可以在MSDN上找到更多详细信息&gt; Walkthrough: Taking a Tour of RIA Services&gt;显示相关数据