【发布时间】:2012-07-20 13:50:36
【问题描述】:
为了减少来自 WCF 数据服务的数据量,我使用了投影技术。
Linq 查询看起来像:
...
_ctx.Files.Select(x => new FileProjection() { Id=x.Id, Name = x.Name });
...
[DataServiceKey("Id")]
public class FileProjection : ViewModelBase
{
private string _name;
public Guid Id { get; set; }
public string Name
{
get { return _name; }
set
{
_name = value;
NotifyOfPropertyChange(() => Name);
}
}
public string MyCustomProperty { get; set; }
}
FileProjection 类有一个 File 实体模型中不存在的附加属性。
在获取数据时工作正常。但是如果我尝试更新名称,我会在 SaveChanges 中遇到异常:
附加信息:属性“MyCustomProperty”不存在 在类型“DataAccessLayer.Context.File”上。确保只使用属性 由类型定义的名称。
有没有办法在 SaveChanges 期间忽略 MyCustomProperty?
或者 XXXProjection 类不应该有任何自定义公共属性?
客户端是 Silverlight 应用,WCF Data Services v5.0.1,oData v3
【问题讨论】:
标签: entity-framework wcf-data-services odata