框架:Silverlight 4 +实体框架4(SL业务应用程序:解决方案中的SL项目和.WEB项目)
我的数据层中有两个类(未映射到数据库,手动创建 - 我需要它们用于特定视图)
[EnableClientAccess]
public class CityInfoFull
{
[Key]
public int Id { get; set; }
public String Country{ get; set; }
public String Region { get; set; }
public String City { get; set; }
public int Population { get; set; }
public DateTime Founded { get; set; }
}
RIA在Geography.Web.g.cs
中生成适当的代理类在同一名称空间中,我有另一个类:
[EnableClientAccess]
public class Person
{
[Key]
public int Id { get; set; }
public String FullName { get; set; }
public DateTime DateOfBirth { get; set; }
}
但是,RIA不希望为此类生成代理。我需要Silverlight应用程序中的代理,它不会生成。
可能是什么原因?我不知道在哪里看。
我试过了:
这些都没有奏效。我还能做什么?
答案 0 :(得分:5)
您需要在域服务中为要在silverlight项目中使用的每个实体定义查询方法。在您的情况下,您必须为CityInfoFull
和Person
定义查询操作。
public class MyDomainSerivce : DomainService {
public IQueryable<CityInfoFull> GetCities() {
// your logic
}
public IQueryable<Person> GetPersons() {
// your logic
}
}
如果要允许在silverlight应用程序中插入,更新和删除指定类型的entites,则需要在DomainService中为实体定义相应的Insert-,Update-和Remove- Operations。
查看WCF RIA Services文档以获取更多详细信息。