无法使用“.添加()”
本文关键字:添加 | 更新日期: 2023-09-27 18:18:11
我正在尝试将新Person
保存到数据库中。 我的代码编译得很好,但是当我运行它时,我在.Add()
处出现错误。
错误说,"This EntitySet of Type 'Diavik.DataAccess.Person' does not support the 'Add' operation.
">
这是一个 SilverLight 应用程序,此文件是App.xaml.cs
。
这是我的代码:
private void OnGetPerson_Completed(LoadOperation<Person> operation)
{
Person person = operation.Entities.SingleOrDefault();
if (person == null)
{
person = new Person()
{
FirstName = WebContext.Current.User.FirstName,
LastName = WebContext.Current.User.LastName,
IlluminatorLogin = WebContext.Current.User.Name
};
Context.Persons.Add(person);
}
Context.SubmitChanges(submitOp =>
{
// Some Stuff
}, null);
}
谢谢你的帮助,
亚伦
您需要在域服务中将方法标记为[Insert]
方法。它必须是public
、void
,并且只接受一个参数(Person
对象(。
像这样:
[Insert]
public void InsertPerson(Person p)
{
ObjectContext.Persons.AddObject(p);
}
这段代码可能不完全是你需要的,因为我不知道你的域服务是什么样子的,但你得到了大致的想法。
实际上,您不需要直接调用此服务方法,RIA 服务链接处理此方法与在客户端调用Persons.Add()
之间的转换。它只需要存在,仅此而已。