0

我有一个相当独特的情况,我被要求使用现有数据库制作桌面产品的 Web 版本。问题是该产品的先前开发人员在保存记录时在字符串中放置了一个#,因此数据库的表中几乎所有字符串类型的列都用#填充。他有一个函数可以在引用任何字段时将其删除,以便不显示 # (提出了一个问题,为什么他甚至包括它们!!)

我的问题是我希望能够使用 ASP.Net、Entity Framework、Models 等,所以我可以简单地在 Web Api 中返回模型或模型的 IEnumerables,但仅仅这样做将意味着文本框最终会带有 # in他们。

不必在客户端或服务器端创建某种功能,任何人都可以建议一种可能的方法,在整个 sql server 数据库中用空白值全局替换 # 或建议任何其他可能的解决方案?

4

1 回答 1

0

为什么不简单地使用更新脚本将“#”转换为 NULL 或其他内容:

update dbo.X
set Value1 = NULL
when Value1 = '#'

这可能是一项更大的努力,但会是一次性的,并且值得为您的未来发展简化事情。

除此之外,EF 或 .NET 没有任何隐含的内容可以自动删除这些内容。您需要编写一个例程来执行此操作。EF 可以使这更加痛苦,因为您不能在 LINQ 查询中使用将转换为 SQL 的自定义例程。

于 2013-10-22T10:33:19.697 回答