我在RIA服务方面遇到了很多麻烦。我真的很想知道它是否值得麻烦。我现在遇到的问题与其他问题类似:相关实体。假设我有一个班级,Foo。 Foo有两个相关实体,Bar和Fighter。
如果我正在开发一个新的Foo,foo,并且我想在Bars系列中添加一些东西,它就可以了。像:
foo.Bars.Add(new Bar{A=a, B=b});
但是当我尝试添加战斗机时,它不起作用:
foo.Fighters.Add(new Fighter{C=c,D=d});
我一直在寻找解决方案的interwebz。我已经找到了使用[Include]属性和[Associated]属性的建议。在某些情况下,两者都有效。但是他们在这种情况下没有工作,我也不知道为什么。我已经删除并重新创建了我的EDMX和我的DomainService,因为有人建议它,但它无效。
那么什么是错的,你需要什么其他信息来帮助我?当我说尝试在我的foo.Fighters集合中添加一个战斗机时,它不会持续添加。我会注意到,我正在尝试在我的具体示例中添加现有的战斗机,而不是新战斗机,如果这有助于/提供线索。
如果您需要信息或实际代码示例,我将很乐意为您服务。提前感谢所有寻求帮助的人。
答案 0 :(得分:1)
要检查和确认的一些事项
[Association]
,[Include]
和[Composition]
属性。协会定义了这种关系。如果已填充,则Include指示服务器将集合的实例或内容发送到客户端。组合指示WCF RIA跟踪对集合的更改并将其发送回服务器。 context.SubmitChanges()
。也许其中一个或多个会有所帮助。