问题
When I design a QueryExpression, I've always used the following, hard-coded syntax.
QueryExpression expression = new QueryExpression
{
EntityName = "account";
...
}
In this blog the following syntax based on this enumeration is used.
QueryExpression expression = new QueryExpression
{
EntityName = EntityName.account.ToString();
...
}
I liked it much better but I couldn't find it using intellisense. Then I've found this discussion where it's explained that the syntax is deprecated.
So, what should one use instead of EntityName? I've googled it a bit but can't find anything useful. It seems to me that some kind of enumeration is to be preferred before the hard-coded expression. Is that correct? And if so, how to do that in CRM 2011?
回答1:
And if you are using late bound entities you can use Entity.LogicalName.
回答2:
If you are using early bound classes you could use following syntax also for your custom entities. If not, this will work for all standard entities.
Account.EntityLogicalName
回答3:
you can write for example Contact.EntityLogicalName.ToString() but you in this case you must
use early bound classes
来源:https://stackoverflow.com/questions/14315073/what-should-be-used-instead-of-the-deprecated-entityname-account-tostring