Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 如何使用.Net Ria服务与具有相同密钥(“Id”)的对象建立关联?_Silverlight_Wcf Ria Services - Fatal编程技术网

Silverlight 如何使用.Net Ria服务与具有相同密钥(“Id”)的对象建立关联?

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

假设我有两个类,并且要求主键属性必须命名为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服务的更高版本会处理这个问题吗


谢谢。

只是一个猜测……但我认为您出现问题的原因是您试图将Book对象的Id字段设置为Publisher对象的Id字段的键。我猜是那本书。Id唯一标识的是这本书,而不是出版商


Book对象是否有一个名为publisherId的字段或类似的字段?如果是这样的话,您应该使用Book.publisherId=Publisher.Id将图书键入Publisher。

我必须添加不同的键才能使其正常工作。[AssociationBook\u Publisher,BookId,PublisherId,IsForeignKey=true]公共出版商;