public XrmContext()
        {
            Bag        = new Dictionary <string, object>();
            LastEntity = new Dictionary <string, Entity>();
            var mockCRM = new MockCRM();

            FakeXrmContext       = mockCRM.xrmContext;
            FakeXrmContextPlugin = mockCRM.xrmContextPlugin;
            service = FakeXrmContext.GetOrganizationService();
        }
        public void AddPrimaryAttributeNameMetadataToMock(string entityLogicalName, string attributeLogicalName)
        {
            var metadata = FakeXrmContext.GetEntityMetadataByName(entityLogicalName);

            var nameAttribute = new StringAttributeMetadata()
            {
                LogicalName   = attributeLogicalName,
                RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.ApplicationRequired),
            };

            metadata.SetAttributeCollection(new[] { nameAttribute });
            metadata.SetFieldValue("_primaryNameAttribute", attributeLogicalName);
            FakeXrmContext.SetEntityMetadata(metadata);
        }