我正在将 WCF 数据服务 5.0 (v3) 与 EF 4 一起使用。在我的配置下方有一个操作“GetProducts”:
public static void InitializeService(DataServiceConfiguration config)
{
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.UseVerboseErrors = true;
config.SetServiceOperationAccessRule("GetProducts", ServiceOperationRights.All);
}
假设我的实体数据模型有一个类 [Product],其中字段 [Id] 为整数,[Price] 为十进制。我的 WCF 数据服务操作应返回 [Product] 对象的集合。
[WebGet]
public IQueryable<Product> GetProducts()
{
var productList = new List<Product>();
//add 4 Products with different Price
productList.Add(new Product { Price = 50.00m });
productList.Add(new Product{ Price = 333 });
productList.Add(new Product{ Price = 2255 });
productList.Add(new Product{ Price = 55.7m });
return productList.AsQueryable();
}
我的 WCF 操作应该返回 4 个对象,每个对象应该有不同的价格。然后我在客户端调用 WCF 操作(WinForms app/.Net 4.0)。但在客户端,我有 4 个相同价格的相同对象集合(最后一个对象的价格)。
什么可能导致这种行为?