我正在为BreezeJS / WebAPI / OData建立多对多关系,如下所示:
元数据: 并使用dataContext.Users.Include(“Customers”)获取数据是正常的: 但为什么在结果用户对象中没有客户导航属性:
我读过this article但是没有运气仍然无法使用user.customers()
我完全陷入困境,请帮帮我。
提前致谢。
答案 0 :(得分:1)
EntityFramework知道UserCustomers
表,即使它没有作为实体公开。但是Breeze只知道元数据中的内容,并且EF不会为UserCustomers
生成Breeze元数据,除非它作为实体公开。 (通常这是您想要的,因为它允许您向关系表添加其他数据,例如添加UserCustomer关系的日期。)
多对多映射表UserCustomers
必须作为实体公开。然后,您的元数据将包含该实体,并且您的Customer
实体将拥有UserCustomers
个集合,而您的User
实体将拥有UserCustomers
个集合。
在客户端上,如果要在用户和客户之间创建新关系,可以添加新的UserCustomer实体以将其关联起来。