这是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属性,我得到ans错误,此属性是只读的。
我需要了解这个问题的原因和解决方法......
由于
答案 0 :(得分: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
}