0

我的兩個類如下如何添加外鍵信息代碼首先POCO符合RIA服務

public class Client 
    { 
     public Guid Id { get; set; } 
     public String Name{ get; set; }   
     public virtual ICollection<Product> Products{ get; set; } 
    } 

    public class Product 
    { 
     public Guid Id { get; set; } 
     public String Model { get; set; } 
     public String Version { get; set; } 
     [ForeignKey("Client_Id")] 
     public virtual Client Client { get; set; } 
     [ForeignKey("Client")] 
     public Guid? Client_Id { get; set; } 

    } 

而且的DbContext類是這樣的:

public class ClientContext : DbContext 
    { 
     public DbSet<Client> Clients { get; set; } 
     public DbSet<Product> Products { get; set; } 
    } 

我已經確認這模型適用於所有常見CRUD內容的關聯數據庫。

我已經創建的網站作爲這樣一個RIA DoaminService類:

[EnableClientAccess] 
    public class ClientDomainService : DbDomainService<ClientContext> 
    { 
     public IQueryable<DomainModel.Product> GetProducts() 
     { 
      return this.DbContext.Controllers; 
     } 

     public IQueryable<DomainModel.Client> GetClients() 
     { 
      return this.DbContext.Clients; 
     } 
    } 

當我建立Silverlight應用程序出現錯誤:

Unable to retrieve association information for assocation .... Only models that include foreign key information are supported.

我認爲[ForeignKey的]添加到Product類的Client和Client_Id屬性中的屬性將滿足「包含外鍵信息」要求。

我缺少什麼?

回答

3

假設您的代碼已完成,您會錯過外鍵關係的另一端...主鍵上的[Key]屬性。

相關問題