我必须决定一件重要的事情,我需要你的帮助。
我正面临一个巨大的现有数据库,其中可空列上有很多默认值。
团队必须在其之上构建一个新的 MVC4 应用程序(实际上它是对旧的 VB6 应用程序的重写)。
我(作为顾问)已经“强制”使用 EF5 来摆脱所有存储过程并迁移到更现代的技术。
现在,经过我的研究,我很清楚 EF5 不支持默认的数据库默认值。这就是我插入的记录损坏的原因(它们被插入是因为列可以为空,但当然是 NULL)。
出现了一些选项,例如使用构造函数技术、在 edmx 的设计中设置默认值,或者使用 edmx 的 xml。尽管如此,这些方法对我们没有用。在构造器技术对我来说看起来不错的地方,对数据库中的所有表都这样做是不可行的。我也有来自技术人员的“njet”,因为他想将这些价值观保持在一个地方。在设计中设置默认值的情况相同。数据库也不在我们的范围内(阅读:尽可能减少更改以保持现有应用程序运行)。
在这一点上,我不确定 EF 是否是我们项目的正确选择。
有人知道(第 3 方)工具可以在生成的 edmx 文件的 xml 中自动填充数据库默认值吗?
是否有更多关于如何构建此 xml 以及是否有可能干扰该过程的信息?
为什么不应该采用这些默认值?这会在以后的版本中改变吗?
是否有其他好的做法可以应用于该问题而无需重复所有值或大量工作量?
我可以用我的 poco 发电机安排一些东西吗?
我意识到已经有很多关于这个主题的帖子。太糟糕了,没有适合我的解决方案,因为我们已经有了一些东西,并且(恕我直言)我必须说服一个旧的 VB6 团队。
感谢您的反馈意见!