我想在.net MVC网络服务中检查资金字段 如何null检查 我写这个,但我没有得到答案
//create module
public Money Amount { get; set; }
//Null Check
if ((EntityObject.Amount) != null)
{
object Entity.Attributes.Add("budget amount", EntityObject.Amount);
}
我如何在Money字段写空检查?
答案 0 :(得分:3)
Money是一种特殊的数据类型,您必须使用/sys/
处理如下所示。
GetAttributeValue
答案 1 :(得分:2)
Entity.GetAttributeValue<T> Method (String)
最好避免使用空值,但请注意,对于某些数据类型,它会返回Default values
。
http://www.crmanswers.net/2015/04/getattributevalue-demystified.html https://msdn.microsoft.com/en-us/library/gg326129.aspx
如果您使用的是Late bound Entity
类,那么您可以执行以下操作:
if ((EntityObject.Attributes.Contains("youMoneyFieldName")
{
decimal moneyInDecimal = ((Money)EntityObject["youMoneyFieldName"]).Value;
object Entity.Attributes.Add("budget amount", new Money(moneyInDecimal));
}
在检查空值之前,请确保您已在查询中检索了属性,如下所示:
//检索包含多个属性的帐户。
ColumnSet cols = new ColumnSet(
new String[] { "youMoneyFieldName" });
EntityObject retrievedEntity = (EntityObject)_serviceProxy.Retrieve("yourEntityName", GuidId, cols);
https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.iorganizationservice.retrieve.aspx