我使用动力学crm 2013和sdk。我在下面编写了代码并尝试获取实体的所有列但不起作用。
我的第二个问题是,我想获得一个列,例如“new_onaysayisi”,但返回列是“contactid”。
public static List<Entity> GetEntityList(string entityName, int memberType)
{
GetOrganisationService();
var query = new QueryExpression
{
EntityName = entityName,
ColumnSet =new ColumnSet("new_onaysayisi"),
Criteria = new FilterExpression { FilterOperator = LogicalOperator.And },
};
query.Criteria = new FilterExpression();
query.Criteria.Conditions.Add
(
new ConditionExpression("new_uyelikturu", ConditionOperator.Equal, memberType)
);
var entities = _service.RetrieveMultiple(query).Entities.ToList();
return entities;
}
出了点问题,但我无法找到解决方案。
我哪里错了?谢谢你的帮助。
public static List<Entity> GetEntityList(string entityName, int memberType)
{
GetOrganisationService();
var cs = new ColumnSet { AllColumns = true };
var query = new QueryExpression
{
EntityName = entityName,
ColumnSet =cs,
Criteria = new FilterExpression { FilterOperator = LogicalOperator.And },
};
query.Criteria = new FilterExpression();
query.Criteria.Conditions.Add
(
new ConditionExpression("new_uyelikturu", ConditionOperator.Equal, memberType)
);
var entities = _service.RetrieveMultiple(query).Entities.ToList();
return entities;
}`
答案 0 :(得分:1)
可能是因为没有填充值。
在您的第一个示例中,始终返回主要实体的id
。我怀疑new_onaysayisi
没有被退回,因为它没有被填充。
在第二个示例中,AllColumns
代码看起来不错,但您只能获得实际填充的列。
如果您使用entity.GetAttributeValue
,则会返回一个值或null,这样可以更轻松地处理记录。