是否可以使用实体框架的部分方法来更新已更改事件的值

本文关键字:更新 事件 可以使 实体 框架 是否 方法 | 更新日期: 2023-09-27 18:15:36

我想知道如何在使用实体框架时改变输入值。到目前为止,我使用自定义类,我转换为实体类。我觉得我的工作量增加了一倍。在自定义类中,我在setter处转换传入值。荷兰的邮政编码是4位数字加2个字符。有些人用空格把它们分开,有些人把它们连在一起。此时,如果需要,Regex将从字符中分离数字。当使用实体框架时。是否有可能在将值写入数据库之前更改传入值?如果有,我该怎么做?

我正在寻找验证,但我看到的所有例子都只是抛出错误,而没有有效地转换值。

荷兰邮政编码的例子:"5126HG"或"5126HG"应该在数据库中产生相同的结果。我已经知道如何改变,但不知道在哪里和如何应用。

是否可以使用实体框架的部分方法来更新已更改事件的值

我认为使用自定义类是一个好主意,它与实现DTO模式类似,并且是将业务层与数据访问层分离的好方法。但是如果你想在实体类中添加一些验证/修改方法,你可以这样做。

如果你使用EF 4.1,你有POCO类的实体创建的生成器作为部分类。您可以添加添加验证方法的自定义部分类,但需要在执行db操作之前显式调用这些方法。

另一种方法是使用自定义SaveChange处理程序。在这里,您可以找到一个SaveChange定制的示例。http://msdn.microsoft.com/en-us/library/cc716714.aspx

是否有可能在将值写入数据库之前更改传入值?如果有,我该怎么做?

最好有一些单独的Controller类,其方法接受、验证、转换输入,然后才设置具有有效、正确和一致值的Entity属性。

这样你的Entities总是有效和正确的,你永远不需要一个非标准的机制来改变值之前写入数据库。