我有一个相当独特的情况,我被要求使用现有数据库制作桌面产品的网络版。问题是该产品的先前开发人员在保存记录时将#放在字符串中,因此数据库在几乎所有字符串类型列中都有表#。他有一个功能,在引用任何字段时都会将其删除,这样就不会显示#(请问为什么他甚至包括它们的问题!!)
我的问题是我希望能够使用ASP.Net,实体框架,模型等,所以我可以简单地在Web Api中返回模型的模型或IEnumerables,但仅仅这样做将意味着文本框将最终一个#在他们中间。
除了必须在客户端或服务器端创建某种功能之外,任何人都可以建议一种可能的方法来全局替换整个sql server数据库中的空白值#或者建议任何其他可能的解决方案?
答案 0 :(得分:0)
为什么不简单地使用更新脚本将“#”转换为NULL或其他内容:
update dbo.X
set Value1 = NULL
when Value1 = '#'
这可能是一个更大的努力,但是将是一次性的,并且值得为您的未来发展提供便利。
除此之外,没有任何隐含的EF或.NET可以自动删除它们;你需要写一个例程来做它。 EF可能会让您更加痛苦,因为您无法在将要转换为SQL的LINQ查询中使用自定义例程。