我在Expression<Action<T>>其中Action是函数的调用,但是未使用函数结果。让我们考虑以下代码示例:
using System;
using System.Linq.Expressions;
namespace ConsoleApp
{
class Program
{
public class MyArg
{
public int Data { get; set; }
}
public class MyExecutor
{
public bool Executed { get; set; }
public int MyMethod(int simpleArg, MyArg complexArg)
{
int result = simpleArg + complexArg.Data;
this.Executed = true;
return result;
}
}
static void Main(string[] args)
{
Expression<Action<MyExecutor>> expr = t => t.MyMethod(2, new MyArg { Data = 3 });
var executor = new MyExecutor();
Action<MyExecutor> …Run Code Online (Sandbox Code Playgroud) OData 协议及其 WCF 数据服务实现中是否有任何元数据版本控制支持?
假设我们有公开单个 Goods 集合的 OData 服务,并且 Goods 实体类型具有三个属性:Key(字符串)、Name(字符串)和AvailableSince(字符串)。该服务已经在运行,并且有一些消费者依赖此元数据模式。接下来,我们要更新 Goods 实体类型 - 例如用其他内容替换属性AvailableSince(string),或者将其类型从字符串更改为日期时间 - 因此我们将有两个版本的元数据,并且依赖于第一个版本元数据的消费者将无法根据第二个元数据模式发送正确的请求。
有没有办法在单个服务中提供两个元数据版本?如果是,那么消费者如何在请求中指定元数据版本,以及WCF端应如何处理它?
提前感谢大家。