Мои два класса следующие:
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, я получаю сообщение об ошибке:
Невозможно получить информацию об ассоциации для ассоциации .... Поддерживаются только модели, содержащие информацию о внешнем ключе.
Я думал, что атрибуты [ForeignKey] добавлены в свойства Client и Client_Id класса Productбудет соответствовать требованию "включить информацию о внешнем ключе".
Чего мне не хватает?