在visual studio C#.NET中使用odata-v4服务连接,我得到了一个testDefinition
类型的实体。 testDefinition
具有名为features
的属性,该属性是feature
类型的实体的集合。
在数据库中,testDefinition
到feature
有多个联结表。
在我的代码中,我为服务于DB的EDMX的Web服务添加了服务引用。
代码生成正确,我运行:
var dsc = new Container(new Uri("http://webserver/webapi/odata/"));
var someFeature = new Feature
{
name = $"Sample feature created with C# {DateTime.UtcNow}",
};
var someOtherFeature = new Feature
{
name = $"Sample other feature created with C# {DateTime.UtcNow}",
};
dsc.AddToFeature(someFeature);
dsc.AddToFeature(someOtherFeature);
dsc.SaveChanges();
var someTestDefinition = new TestDefinition
{
name = $"Sample test created with C# {DateTime.UtcNow}",
description = $"A nice succinct description",
};
dsc.AddToTestDefinition(someTestDefinition);
dsc.SaveChanges();
someTestDefinition.features.Add(someFeature);
someTestDefinition.features.Add(someOtherFeature);
dsc.SaveChanges();
问题是从测试定义到功能的映射没有记录在数据库中。
有没有人遇到过这个问题,或者更好的是,已经解决了这个问题?
供参考:
答案 0 :(得分:1)
我不能说这是什么时候实现的,但它可以在以后的版本中使用,我可以确认的最早版本是 OData.Client v 7.6.2
如果对于当前版本的 OData Client 和 Server 库的任何新用户来说,这通常表明架构是未正确配置或发布。
还要检查 API 是否使用了类似的当前 OData 运行时,上述测试是使用 Microsoft.AspNet.OData v7.3.0
对 API 执行的