假设我有两个类,并且要求主键属性必须命名为“Id”(例如:Book 和 Publisher)。要求是因为我正在使用我们公司的代码生成对象,并且无法更改它们的生成方式。这些类之间有一个外键:Book to Publisher,并且是一对一的关系,在这种情况下,每本书只有一个 Publisher。
为了将 Book.Publisher 用作 .Net RIA Services 中的属性,您需要添加属性。例如在 Book 类的元数据中:
[Key] public int Id; ... [包括]
[Association("Book_Publisher", "Id", "Id", IsForeignKey = true)]
public Publisher Publisher;
在发布者类的元数据中:
[Key]
public int Id;
...
在客户端代码中,我尝试获取 Publisher:Publisher booksPublisher = Book.Publisher; 但我得到了错误的发布者(或 null)。查看数据库后,它要查找的 Publisher id 是书的 id,而不是出版商。
我可以在元数据中添加别名吗?更高版本的 RIA 服务会处理这个问题吗?
谢谢你。