我有 WCF 服务。
我有一个字段(比如名称),现在客户想要将其更改为名字(空格前的前半部分)和姓氏(空格后的所有内容)。
此 WCF 服务正被不同的应用程序使用,我希望在不破坏任何现有客户端的情况下完成此操作。
我可以添加两个新的数据成员,即使它们在数据库中不存在?如何为这两个新数据成员设置或获取值?
谢谢
我有 WCF 服务。
我有一个字段(比如名称),现在客户想要将其更改为名字(空格前的前半部分)和姓氏(空格后的所有内容)。
此 WCF 服务正被不同的应用程序使用,我希望在不破坏任何现有客户端的情况下完成此操作。
我可以添加两个新的数据成员,即使它们在数据库中不存在?如何为这两个新数据成员设置或获取值?
谢谢
像这样的东西应该工作:
DECLARE @FullName VARCHAR(255)
SET @FullName = 'James Johnson'
SELECT SUBSTRING(@FullName, 1, CHARINDEX(' ', @FullName) - 1) AS FirstName,
SUBSTRING(@FullName, CHARINDEX(' ', @FullName) + 1, LEN(@FullName)) AS LastName
上面的输出如下所示:
名字姓氏 ------------ ---------------- 约翰·多伊
要解析代码中的名称,下面的代码示例应该适用于名字和姓氏。如果您需要一个可以处理前缀、后缀和中间名的强大解析器,请查看这篇文章。
var names = ("James Johnson").Split(Convert.ToChar(" "));
if (names.Length > 0)
Response.Write(string.Format("First: {0}, Last: {1}", names[0], names[1]));
如果新数据成员是字符串,那么这应该没问题,旧版本的服务客户端将忽略其他数据成员。
请参阅此相关问题: 向 WCF 数据合同添加字段会破坏客户端?