在 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");
}
}
……
//Get cultures
EntityQuery<Culture> queryCultures = from cu in dsCtxt.GetAllCulturesQuery()
select cu;
loCultures = dsCtxt.Load(queryCultures);
loCultures.Completed += new EventHandler(lo_Completed);
……
void loAnyCulture_Completed(object sender, EventArgs e)
{
ObservableCollection<Culture> temp=
new ObservableCollection<Culture>loAnyCulture.Entities);
AnyCulture = temp[0];
}
问题是这样的:每当我尝试编辑记录的某些数据(在此示例中为第一条记录)时,我都会收到此错误:此“文化”类型的实体集不支持“编辑”操作。
我以为我做了一些奇怪的事情,并试图创建一个 Culture 类型的对象并为其赋值:它运行良好!
我错过了什么?我必须声明一个EntitySet吗?我必须标记它吗?我必须……什么?
提前致谢