C# 如何使用SDK仅从Dynamics CRM 2011中选择活动帐户?

C# 如何使用SDK仅从Dynamics CRM 2011中选择活动帐户?,c#,dynamics-crm-2011,dynamics-crm,C#,Dynamics Crm 2011,Dynamics Crm,我正在使用此C#SDK从Dynamics CRM 2011获取数据: 我需要从中读取所有帐户,问题是,有许多帐户已停用 要获取帐户,我使用以下代码: var accounts = xrm.AccountSet .Select(acc => new { name = acc.Name, guid = acc.AccountId,

我正在使用此C#SDK从Dynamics CRM 2011获取数据:

我需要从中读取所有帐户,问题是,有许多帐户已停用

要获取帐户,我使用以下代码:

var accounts = xrm.AccountSet
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,
                });
在这个问题上,有人提出了这样的建议:


问题是,这会给我所有的账户,包括活跃账户和非活跃账户。有什么办法区分这两者吗?

对于任何想知道的人,我找到了解决办法

每个帐户都有一个StatusCode字段。只需提取它并稍后检查其值

var accounts = xrm.AccountSet
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,

                    status = acc.StatusCode
                });

还有别的办法吗?

对于任何想知道的人,我找到了解决办法

每个帐户都有一个StatusCode字段。只需提取它并稍后检查其值

var accounts = xrm.AccountSet
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,

                    status = acc.StatusCode
                });
还有其他方法吗?

试试以下方法:

var accounts = xrm.AccountSet.Where(acc => acc.StatusCode.Value == 0)
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,

                    status = acc.StatusCode
                });
尝试以下方法:

var accounts = xrm.AccountSet.Where(acc => acc.StatusCode.Value == 0)
                .Select(acc => new
                {
                    name = acc.Name,
                    guid = acc.AccountId,
                    parent = acc.ParentAccountId,
                    number = acc.AccountNumber,
                    website = acc.WebSiteURL,

                    status = acc.StatusCode
                });

您是否尝试过使用StateCode字段而不是Status字段?比如.Where(acc=>acc.StateCode!=null?acc.StateCode.Value==0:false)?您是否尝试过使用StateCode字段而不是状态字段?like.Where(acc=>acc.StateCode!=null?acc.StateCode.Value==0:false)?