0

这是 WCF RIA 服务层中的 DataContract...

[Serializable()]
[DataContract]
public class MyDataSet
{
    [Include]
    [Association("ListTables", "DataSetName", "DataSetName")]
    [DataMember]
    public Collection<DataTableInfo> Tables { get; set; }

    [Key]
    [DataMember]
    public string DataXML { get; set; }

    [DataMember]
    public string DataSetName { get; set; }
}

在客户端,在视图模型中,我创建了此 DataContract 的新实例并尝试将任何值分配给 Tables 属性,我收到此属性是只读的错误。

我需要了解此问题的原因和解决方法...

谢谢

4

1 回答 1

1

您可能有一个DomainService类似的查询:

[EnableClientAccess]
public class MyDomainService : DomainService
{
    public IQueryable<MyDataSet> GetMyDataSets()
    {
        /* return something; */
    }
}

除非您有插入和/或更新的方法,否则 WCF RIA 无法更新实体并假定您打算将其设为只读。尝试添加这些方法:

public void CreateMyDataSet(MyDataSet entity)
{
    // Insert
}

public void UpdateMyDataSet(MyDataSet entity)
{
    // Update
}

public void RemoveMyDataSet(MyDataSet entity)
{
    // Delete
}
于 2012-10-11T23:10:43.173 回答