如何将CrmDateTime类型的字段值设置为null(空值)

MSCRM各种类型的值如何进行存储一直是困扰我的问题, 也许是因为并没有认真研究的原因吧. 这不, 今天又遇到问题: CRM3.0提供的Web Service中, CrmDateTime类型并没有IsNull和IsNullSpecified两个属性, 这样的话, 如何将CrmDateTime类型的字段值设置为null呢? SDK上并没有针对这个问题的说明. 请看以下这段话:

Assigning Null Values

When you update an entity instance there is a mechanism in place to differentiate the absence of a value from a null value. To set an attribute value to null you must set both IsNull and IsNullSpecified to True. For attributes of type String, you must assign the value to String.Empty.

这是msdn上关于MSCRM类型的一段文字, 原文在此:http://technet.microsoft.com/en-us/library/aa685869.aspx. 这里基本上各种类型都介绍了, 独独没有提到CrmDateTime类型怎么处理. 说明MS在CRM这个产品上倾注的力量还是不够, 至少文档更新不是很及时. 怎么办?搜索结果继续往后翻, 耐心地查看, 终于被我找到结果: http://www.crm.microsoftproducts.net/%5C/How-to-update-crmdatetime-field-to-NULL_-40404.aspx. 原来只需要new一个CrmDateTime出来, 将它的value属性设置为null或者""即可. 如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
task t = new task(); 

t.activityid 
= new Key(); 
t.activityid.Value 
= new Guid("{0F85395D-AD39-DB11-9372-001438B86853}"); 
t.scheduledend 
= new CrmDateTime(); 
t.scheduledend.Value 
= string.Empty; 

service.Update(t); 

 

就是这么简单! 然而如果不试, 你又怎么能想到呢?

 

总结: MSCRM中各种类型的值, 如果在页面上进行清空的话(清空文本框), 实际将会保存成null. 如果采用代码设置为null, 则采用以上针对各种类型设置空值的处理办法.

转载于:https://www.cnblogs.com/makemelaugh/archive/2009/03/05/1404060.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值