无法在VS 2015中创建服务引用
本文关键字:创建 服务 引用 2015 VS | 更新日期: 2023-09-27 18:09:58
我已经创建了Asp。Net Web API 2 OData 3数据源。请求http://localhost:3000/odata/$metadata
生成EDMX方案:
<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" Version="1.0">
<edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0">
<Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm" Namespace="mPOS.API.Controllers">
<EntityType Name="Book">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" Type="Edm.String" Nullable="false"/>
<Property Name="Title" Type="Edm.String"/>
<Property Name="Count" Type="Edm.Int32"/>
<Property Name="Price" Type="System.Nullable_1OfMoney"/>
</EntityType>
</Schema>
<Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm" Namespace="System">
<ComplexType Name="Nullable_1OfMoney"/>
</Schema>
<Schema xmlns="http://schemas.microsoft.com/ado/2009/11/edm" Namespace="Default">
<EntityContainer Name="Container" m:IsDefaultEntityContainer="true">
<EntitySet Name="Books" EntityType="mPOS.API.Controllers.Book"/>
</EntityContainer>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
当我尝试在客户端项目中创建服务引用时,我得到了一个错误:
0141:命名空间'System'是一个系统命名空间,不能被其他模式使用。选择另一个命名空间
因此,在生成的EDMX方案中存在问题的部分是属性价格即类型系统。Nullable_1OfMoney在System命名空间中定义的模式中指定为Complex Type。我如何创建这个服务引用?我使用的是VS 2015社区版。
谢谢!
我发现在版本3之前只能为OData服务创建服务引用