Silverlight 如何向CodeFirst POCO添加外键信息以符合RIA服务
我的两门课如下Silverlight 如何向CodeFirst POCO添加外键信息以符合RIA服务,silverlight,entity-framework-4.1,ef-code-first,wcf-ria-services,Silverlight,Entity Framework 4.1,Ef Code First,Wcf Ria Services,我的两门课如下 public class Client { public Guid Id { get; set; } public String Name{ get; set; } public virtual ICollection<Product> Products{ get; set; } } public class Product { public G
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; }
}
公共类客户端
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共虚拟ICollection产品{get;set;}
}
公共类产品
{
公共Guid Id{get;set;}
公共字符串模型{get;set;}
公共字符串版本{get;set;}
[外国密钥(“客户Id”)]
公共虚拟客户端{get;set;}
[外国钥匙(“客户”)]
公共Guid?客户端Id{get;set;}
}
DbContext类是这样的:
public class ClientContext : DbContext
{
public DbSet<Client> Clients { get; set; }
public DbSet<Product> Products { get; set; }
}
公共类ClientContext:DbContext
{
公共数据库集客户端{get;set;}
公共数据库集产品{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;
}
}
[EnableClientAccess]
公共类ClientDomainService:DbDomainService
{
公共IQueryable GetProducts()
{
返回this.DbContext.Controllers;
}
公共IQueryable GetClients()
{
返回this.DbContext.Clients;
}
}
构建silverlight应用程序时,出现以下错误:
无法检索关联的关联信息。。。。只有
支持包含外键信息的型号
我认为添加到产品类的客户机和客户机Id属性中的[ForeignKey]属性将满足“包含外键信息”的要求
我缺少什么?假设您的代码已完成,您缺少外键关系的另一面。。。主键上的[Key]属性。假设您的代码已完成,则缺少外键关系的另一面。。。主键上的[Key]属性