Sav*_*dis 19 entityset wcf-ria-services
我在RIA服务(VS2010Beta2)中迈出了第一步,我遇到了这个问题:创建了一个EF模型(没有POCO),它上面的通用存储库和一个RIA服务(托管在ASP.NET MVC应用程序中)并试图获取数据从ASP.NET MVC应用程序:运作良好.下一步:Silverlight客户端.获得了对RIAService(通过其上下文)的引用,查询了存储库的所有记录并将它们也引入了SL应用程序(使用此代码示例):
private ObservableCollection<Culture> _cultures = new ObservableCollection<Culture>();
public ObservableCollection<Culture> cultures
{
get { return _cultures; }
set
{
_cultures = value;
RaisePropertyChanged("cultures");
}
}
Run Code Online (Sandbox Code Playgroud)
....
//Get cultures
EntityQuery<Culture> queryCultures = from cu in dsCtxt.GetAllCulturesQuery()
select cu;
loCultures = dsCtxt.Load(queryCultures);
loCultures.Completed += new EventHandler(lo_Completed);
Run Code Online (Sandbox Code Playgroud)
....
void loAnyCulture_Completed(object sender, EventArgs e)
{
ObservableCollection<Culture> temp=
new ObservableCollection<Culture>loAnyCulture.Entities);
AnyCulture = temp[0];
}
Run Code Online (Sandbox Code Playgroud)
问题在于:每当我尝试编辑记录的某些数据时(在本例中为第一条记录),我都会收到此错误:"Culture"类型的EntitySet不支持"编辑"操作.
我认为我做了一些奇怪的事情,并试图创建一个Culture类型的对象并为其赋值:它工作得很好!
我错过了什么?我必须声明一个EntitySet吗?我必须标记它吗?我必须......什么?
提前致谢
Sav*_*dis 42
事实证明,在DomainService类中,必须实现(或至少将"占位符方法"标记为"编辑","删除",...例如
[Delete]
public void DeleteCulture(Culture currentCulture)
{
throw new NotImplementedException("UpdateCulture not Implemented yet");
}
[Insert]
public void InsertCulture(Culture newCulture)
{
throw new NotImplementedException("InsertCulture not Implemented yet");
}
Run Code Online (Sandbox Code Playgroud)
这样,OrganizationDomainContextEntityContainer类创建一个带有参数EntitySetOperations.All的EntitySet(意味着所有CUD操作都可用).
希望它对将来有用的人有用!
| 归档时间: |
|
| 查看次数: |
15143 次 |
| 最近记录: |