【发布时间】:2011-05-20 17:06:00
【问题描述】:
我希望域服务类显示我的实体,以便我可以让它为我生成 CRUD。为什么什么都没有显示?
项目结构:
EF 模型位于类库中,并且 POCO (.tt) 位于另一个类库中
目前我已经手动创建了 CRUD 操作,但我希望对话框来创建它们。
@Akash Kava:这是其中一个 pocos 的主键:
[DataMember]
public int CVAdvancementQuotientId
{
get { return _cVAdvancementQuotientId; }
set
{
if (_cVAdvancementQuotientId != value)
{
if (ChangeTracker.ChangeTrackingEnabled && ChangeTracker.State != ObjectState.Added)
{
throw new InvalidOperationException("The property 'CVAdvancementQuotientId' is part of the object's key and cannot be changed. Changes to key properties can only be made when the object is not being tracked or is in the Added state.");
}
_cVAdvancementQuotientId = value;
OnPropertyChanged("CVAdvancementQuotientId");
}
}
}
private int _cVAdvancementQuotientId;
【问题讨论】:
-
您的 POCO 实体是否在主键上包含“Key”属性?域服务类仅适用于具有“Key”和 IQueryable 的类
-
我使用 T4 自跟踪实体模板从我的 EF4 模型生成 POCO。 [Key] 数据注释(我假设您指的是)未放置在 POCO 上。
-
尝试修改您的 tt 文件以包含主键的 Key 属性
-
同样的问题,它们仍然没有显示(是的,我确实在尝试再次打开对话框之前重建了项目)。
-
你的上下文是从 ObjectContext 派生的,它有 ObjectSet 公共属性吗?
标签: wcf entity-framework poco wcf-ria-services