C# RIA服务/EF。对派生类中bool字段的更改不会保存到数据库
我们将EF与RIA服务一起使用。一个简单的应用程序。加载项目列表,浏览/编辑/保存。 问题是有些更改没有持久化到数据库 我有一个模型如下C# RIA服务/EF。对派生类中bool字段的更改不会保存到数据库,c#,silverlight,entity-framework,ria,C#,Silverlight,Entity Framework,Ria,我们将EF与RIA服务一起使用。一个简单的应用程序。加载项目列表,浏览/编辑/保存。 问题是有些更改没有持久化到数据库 我有一个模型如下 Person ... string Name bool IsActive Customer : Person ... string Address bool IsLocal 对人员所做的更改将正确保存 更改客户时,如果我将IsLocal值更改为true,则会正确保存。如果将其更改为false,则更改不会持久化到数据库
Person
...
string Name
bool IsActive
Customer : Person
...
string Address
bool IsLocal
对人员所做的更改将正确保存
更改客户时,如果我将IsLocal值更改为true,则会正确保存。如果将其更改为false,则更改不会持久化到数据库
- 如果我更改地址并设置为IsLocal,则两者都可以正确保存
- 如果我更改地址并清除IsLocal,则地址将保存,但IsLocal将保持设置
- 似乎是相同的问题,无法清除派生类中的bool/bit字段
谢谢,
艾伦。好吧,我找到了一个适合我的解决方案 我从以下位置替换了为更新方法生成的代码:
this.ChangeSet.AttachAsModified( entity, this.ChangeSet.GetOriginal( entity ) );
为了
希望这有帮助 你在这个问题上得到帮助了吗?我只是成了同一件事的牺牲品。不。回嘴。这里的另一位开发人员一直在跟进。英孚的人说这不是他们这边的事,他也没有从RIA的人那里得到任何回报。我们目前正在使用存储过程作为解决方法。您可以发布生成的客户端RIA文件源吗?有更多更新吗?我花了一天的时间想弄明白。我发现如果我在基类上设置RoundtripToOriginal属性,一切都很好,但我认为这不是最佳的。。。
this.ChangeSet.Attach( entity );
this.ObjectContext.ChangeObjectState( entity, EntityState.Modified );