Asp.net web api asp.net webapi odata$元数据中缺少反向属性
在两个实体之间有非常简单的关系,我试图用asp.net webapi odata控制器公开它们,但似乎$metadata有问题 在$metadata上运行jaydatasvcutil.exe时,我收到警告:inverseProperty other side missing 当我使用breezejs loadNavigationProperty时,我得到了类似的错误 即使是官方的例子,我也有这个问题。 您可以在这里查看$metadataAsp.net web api asp.net webapi odata$元数据中缺少反向属性,asp.net-web-api,odata,breeze,jaydata,Asp.net Web Api,Odata,Breeze,Jaydata,在两个实体之间有非常简单的关系,我试图用asp.net webapi odata控制器公开它们,但似乎$metadata有问题 在$metadata上运行jaydatasvcutil.exe时,我收到警告:inverseProperty other side missing 当我使用breezejs loadNavigationProperty时,我得到了类似的错误 即使是官方的例子,我也有这个问题。 您可以在这里查看$metadata 请提供帮助。当我们生成导航属性时,我们不会重用这些关系
请提供帮助。当我们生成导航属性时,我们不会重用这些关系 例如,假设您有一个简单的模型
public class Product
{
public int Id { get; set; }
public Supplier Supplier { get; set; }
}
public class Supplier
{
public int Id { get; set; }
public Product[] Products { get; set; }
}
我们生成的导航属性的$metadata如下所示
<NavigationProperty Name="Supplier" Relationship="ProductsService.Models.ProductsService_Models_Product_Supplier_ProductsService_Models_Supplier_SupplierPartner" ToRole="Supplier" FromRole="SupplierPartner" />
<NavigationProperty Name="Products" Relationship="ProductsService.Models.ProductsService_Models_Supplier_Products_ProductsService_Models_Product_ProductsPartner" ToRole="Products" FromRole="ProductsPartner" />
<NavigationProperty Name="Category" Type="Self.Category" Nullable="false" Partner="Products" />
不难看出,制造商、原材料和产品。消费者应与制造商、产品和产品。生产者具有相同的关系。我们选择不这样做是因为我们知道的客户并没有充分利用这些信息
所有这些都是因为OData使用与entityframework相同的EDM模型。Entityframework需要这些信息,因为它将这些关系映射到将成为数据库中表的关联集
我们选择不这样做的另一个原因是,这可能会在ODataV4中消失。查看工作草案(第23页和第57页可能会有兴趣)。简而言之,OData V4中$metadata中的导航属性看起来更像这样
<NavigationProperty Name="Supplier" Relationship="ProductsService.Models.ProductsService_Models_Product_Supplier_ProductsService_Models_Supplier_SupplierPartner" ToRole="Supplier" FromRole="SupplierPartner" />
<NavigationProperty Name="Products" Relationship="ProductsService.Models.ProductsService_Models_Supplier_Products_ProductsService_Models_Product_ProductsPartner" ToRole="Products" FromRole="ProductsPartner" />
<NavigationProperty Name="Category" Type="Self.Category" Nullable="false" Partner="Products" />
请注意,没有关系,也不会有关联集。TL;医生:这只是一个警告。你可以忽略它:)另外,我们曾经有一个bug跟踪这个-好的。谢谢你的解释。我只需要配置前面提到的js框架。