This NuGet package is an all-in-one utility library designed to streamline development for Microsoft Dynamics 365 (CRM). It provides a rich set of reusable functions and abstractions that simplify complex and repetitive tasks across the Dynamics platform. Key features include: CRUD Operations: Simplified methods for creating, retrieving, updating, and deleting records across all standard and custom entities. Workflow Control: Easily activate, deactivate, and trigger on-demand workflows. Security Management: Retrieve and manage security roles and user-role assignments. Metadata Access: Fetch option set values, lookup configurations, and entity metadata. Utility Methods: Helper functions for working with EntityReference, QueryExpression, FetchXML, and more. Error Handling: Consistent exception wrapping and logging support for easier debugging. Compatibility: Works with both Dynamics 365 Online environments. Whether you're building plugins, custom workflow activities, console apps, or integration tools, this package provides a reliable foundation to accelerate Dynamics CRM development and reduce boilerplate code.
License
—
Deps
0
Install Size
—
Vulns
✓ 0
Published
May 24, 2025
$ dotnet add package DataverseCEOperaionsA powerful helper library for performing common operations in Microsoft Dynamics 365 Customer Engagement (CE). This package simplifies tasks like querying records, retrieving metadata, managing security roles, handling CRUD operations, and more — all with minimal boilerplate code.
using OS.DynCrm.Methods;
var query = QueryExpressionExtension.BuildQueryExpression(
"contact",
new ColumnSet(true)
);
var results = QueryExpressionExtension.RetrieveMultiData(query, _context);
Where:
query is your QueryExpression_context is your IOrganizationService instanceQueryExpression query = QueryExpressionExtension.BuildQueryExpression(
"contact",
new ColumnSet("firstname"),
LogicalOperator.And,
new List<ConditionExpression>
{
new ConditionExpression("lastname", ConditionOperator.Equal, "John")
});
var results = QueryExpressionExtension.RetrieveMultiData(query, _context);
var contact = RetrieveExtension.RetrieveSingle(
"contact",
new Guid(id),
new ColumnSet("firstname"),
_context
);
return contact.GetAttributeValue<string>("firstname");
OperationsExtension.DeleteRecord(
"contact",
new Guid("52560db6-e144-409f-aa36-c031134b4724"),
_context
);
bool isExist = OperationsExtension.DetectDuplicate(
"contact",
"mobilephone",
"00971569658849",
_context
);
List<SecurityModel> roles = OperationsExtension.GetAllSecurityRole(_context);Each role is returned as a SecurityModel object.
var _service = OperationsExtension.Connect(
organizationUri,
clientId,
clientSecret
);For inquiries or support, feel free to reach out:
Email: ossama.abbdallah@outlook.com