2012-02-02 61 views
1

我有一个看起来一类是这样的:与实体和RIA服务自定义类/ Silverlight的

[DataContract] 
public class TestBatchWithHistoryResult 
{ 
    [Key] 
    [DataMember] 
    public int Id { get; set; } 
    [DataMember] 
    public string Name { get; set; } 
    [DataMember] 
    public string Description { get; set; } 
    [DataMember] 
    public string LastRequestedBy { get; set; } 
    [DataMember] 
    public DateTime? LastRun { get; set; } 
    [DataMember] 
    public Collection<string> LastConfigurations { get; set; } 
    [DataMember] 
    public TestBatch Entity { get; set; } 
} 

当我建立的网站和Silverlight项目,发现未创建实体属性,在“汽车生成“的代码,但所有其他属性都存在。

什么可能会阻止创建实体属性?

感谢

迈克尔

回答

0

如果数据合同不受任何你的服务的引用,也不会存在。仅生成引用的数据合同。如果它没有被引用,但它应该是(即,如果它是从返回的类型继承的类型,并且将在某个时候返回),请使用ServiceKnowTypeAttribute在服务合约的开头声明它。

+0

嗨保罗。由Entity属性返回的TestBatch类是由服务上的其他操作引用的,但是当在Silverlight项目中生成此类时,Entity属性没有出现。我在服务上放置了TestBatch和这个类的KnownType属性,但它没有效果。 – Michael 2012-02-03 08:44:24

0

对于子实体要在客户端创建,你需要有一个服务方法暴露该实体类型在服务器端,如:

public IQueryable<TestBatch> GetTestBatches(){} 

而且你还需要有包含属性在物业上:

[Include] 
public TestBatch Entity {get; set;}