Silverlight 如何使用.Net Ria服务与具有相同密钥(“Id”)的对象建立关联?
假设我有两个类,并且要求主键属性必须命名为Id,例如:Book和Publisher。这个要求是因为我与我们公司的代码生成对象一起工作,不能更改它们的生成方式。这些类之间有一个外键:Book to Publisher,是一对一的关系,在本例中,每本书只有一个出版商 为了在.NETRIA服务中将Book.Publisher用作属性,您需要添加属性。 例如,在Book类的元数据中: [关键] 公共int Id; ... [包括] [AssociationBook\u Publisher,Id,Id,IsForeignKey=true] 公共出版商; 在publisher类的元数据中: [关键] 公共int Id; 在客户端代码中,我尝试获取发布者: Publisher booksPublisher=Book.Publisher; 但我得到了错误的发布者或空值。查看数据库后,它要查找的出版商id是图书的id,而不是出版商 我可以在元数据中添加别名吗?RIA服务的更高版本会处理这个问题吗Silverlight 如何使用.Net Ria服务与具有相同密钥(“Id”)的对象建立关联?,silverlight,wcf-ria-services,Silverlight,Wcf Ria Services,假设我有两个类,并且要求主键属性必须命名为Id,例如:Book和Publisher。这个要求是因为我与我们公司的代码生成对象一起工作,不能更改它们的生成方式。这些类之间有一个外键:Book to Publisher,是一对一的关系,在本例中,每本书只有一个出版商 为了在.NETRIA服务中将Book.Publisher用作属性,您需要添加属性。 例如,在Book类的元数据中: [关键] 公共int Id; ... [包括] [AssociationBook\u Publisher,Id,Id,I
谢谢。只是一个猜测……但我认为您出现问题的原因是您试图将Book对象的Id字段设置为Publisher对象的Id字段的键。我猜是那本书。Id唯一标识的是这本书,而不是出版商
Book对象是否有一个名为publisherId的字段或类似的字段?如果是这样的话,您应该使用Book.publisherId=Publisher.Id将图书键入Publisher。我必须添加不同的键才能使其正常工作。[AssociationBook\u Publisher,BookId,PublisherId,IsForeignKey=true]公共出版商;