IDbResult Interface
.NET Standard 2.x |  Current Version (1.0.1) 
Provides a series of properties for getting the result of saving the data changes to the database.
Namespace: SnapObjects.Data
Assembly: SnapObjects.Data.dll
Syntax
  public interface IDbResult;
Properties
| Name | Return Type | Description | 
|---|---|---|
| AffectedCount | int | Gets the amount of rows that are affected when saving the data changes to the database. | 
| Cancelled | bool | Gets whether the operation is cancelled when saving the data changes to the database. | 
| DeletedCount | int | Gets the amount of rows that are deleted when saving the data changes to the database. | 
| InsertedCount | int | Gets the amount of rows that are inserted when saving the data changes to the database. | 
| ModifiedCount | int | Gets the amount of rows that are modified when saving the data changes to the database. | 
Remarks
The IDbResult object can be used to get more details about the result after calling the ISqlModelMapper.SaveChanges method, or accessing the ISaveContext.LastDbResult property.
Examples
Example 1
The following code example demonstrates how to use ISqlModelMapper  to create a new department and get the last DB result.
using SnapObjects.Data;
using Appeon.ApiDoc.Models.School;
using System;
using System.Collections.Generic;
namespace Appeon.ApiDoc.IDbResultExamples
{
    public class IDbResultExample
    {
        private SchoolContext _context;
        public IDbResultExample(SchoolContext dataContext)
        {
            // Sets the data context.
            _context = dataContext;
        }
        public void Example1()
        {
            var newDept = new Department()
            {
                DepartmentID = 10,
                Name = "Chemistry",
                Budget = 190000,
                StartDate = new DateTime(2019, 1, 1)
            };
            var dbResult = _context.SqlModelMapper.TrackCreate(newDept)
                                                .SaveChanges();
            // Outputs the
            Console.WriteLine("The count of the affected records is {0}.",
                dbResult.AffectedCount);
            Console.WriteLine("The count of the inseted records is {0}.",
                dbResult.InsertedCount);
            /* The code produces the following output:
            
            The count of the affected records is 1.
            The count of the inseted records is 1.
            */
        }
    }
}
Example 2
The following code example demonstrates how to use ISqlModelMapper and ISaveContext to get the last DB result.
        public void Example2()
        {
            // Supposes there are two Department objects that needs to be deleted.
            var literatureDept = new Department()
            {
                DepartmentID = 11,
                Name = "Literature",
            };
            var ManagementDept = new Department()
            {
                DepartmentID = 12,
                Name = "Management",
            };
            var depts = new List<Department>() { literatureDept, ManagementDept };
            // Deletes the two departments.
            int affectedCount = 0;
            var dbResult = _context.SqlModelMapper.TrackDeleteRange(depts)
                .Track((saveContext) =>
                {
                    // Gets the count of the affected records.
                    affectedCount = saveContext.LastDbResult.AffectedCount;
                    // If at least one record has not been deleted, you will think 
                    // that this is not correct and want to cancel the save operator.
                    if (affectedCount != depts.Count)
                    {
                        // The CancelSave method will roll back the database transaction.
                        saveContext.CancelSave();
                    }
                })
                .SaveChanges();
            Console.WriteLine("The count of the affected records is {0}.",
                 affectedCount);
            Console.WriteLine("The count of the real affected records is {0}.",
                dbResult.AffectedCount);
            Console.WriteLine("The save operation was cancelled: {0}.",
                dbResult.Cancelled);
            /* The code produces the following output:
            
            The count of the affected records is 0.
            The count of the real affected records is 0.
            The save operation was cancelled: True.
            */
        }
Example(s) Refer To
Model Class: Department