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