我在使用DateTime时遇到了一些问题:使用Fetch
<attribute name='new_startdate' groupby='true' dategrouping='day' alias='new_startdate' />
<attribute name='new_enddate' groupby='true' dategrouping='day' alias='new_enddate' />
<attribute name='new_duedate' groupby='true' dategrouping='day' alias='new_duedate' />
认为这有点不对......
DateTime scheduledstart = ((DateTime)((AliasedValue)a["new_startdate"]).Value);
tracer.Trace("DateTime 1 Done");
DateTime enddate = ((DateTime)((AliasedValue)a["new_enddate"]).Value);
tracer.Trace("DateTime 2 Done");
DateTime scheduledend = ((DateTime)((AliasedValue)a["new_duedate"]).Value);
然后我添加到新的实体...
if (scheduledstart != null)
{
Activity.Attributes.Add("scheduledstart", scheduledstart);
}
if (enddate != null)
{
Activity.Attributes.Add("scheduledend", enddate);
}
if (scheduledend != null)
{
Activity.Attributes.Add("scheduledend", scheduledend);
}
任何想法如何使用来自fetch的AliasedValue编写DateTime?或者更好的方法来做这个&gt;
由于
答案 0 :(得分:1)
我曾经讨厌处理别名值,但后来我写了一些扩展方法,现在我不再担心它们了。查看我的博客Simplifying Retrieval of Aliased Values in CRM 2011。我认为它将有助于解决您当前的问题。
答案 1 :(得分:-1)
感谢您的帮助,我决定只使用单独的日期值获取
string Date_Gather = string.Format(@"
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='new_import'>
<attribute name='new_enddate'/>
</entity>
</fetch>", entity.Id);
foreach (var b in Date_Gather_result.Entities)
{
if (b.Attributes.Contains("new_enddate"))
{
enddate = ((DateTime)(b["new_enddate"]));
Entity.Attributes.Add("scheduledend", enddate);
}
}
非常感谢希望它能帮助别人