我正在尝试将新的 Person
保存到数据库中。我的代码编译得很好,但是当我运行它时,我在 .Add()
处遇到错误。
错误说,
“此类型为‘Diavik.DataAccess.Person’的 EntitySet 不支持‘添加’操作。
”
这是一个 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()
之间的转换。它必须存在,仅此而已。
关于c# - 无法使用 ".Add()"插入新的 Entity Framework 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17074300/