невозможно сохранить вставленные данные после сопоставления - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь создать очень простую программу на C # для вставки данных.

Вот файл службы:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using DataAccess;
using DataAccess.UoW;
using Model;

namespace ClassLibrary1
{
    public class Service
    {
        private readonly Unit _uow;

        public Service()
        {
            _uow = new Unit();
        }

        public bool CreateEmp(Mdl insertEntity)
        {
            var config = new MapperConfiguration(cfg =>
                             {
                                 cfg.CreateMap<Mdl, Table_1>();
                             });

            IMapper mapper = config.CreateMapper();

            var Empinsert = mapper.Map<Mdl, Table_1>(insertEntity);
            _uow.Register.Insert(Empinsert);

            _uow.Save();  //this line shows error

            return false;
        }
    }
}

Единица работы:

using DataAccess.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataAccess.UoW
{
    public class Unit
    {
        private guruEntities _context = null;
        private Repository<Table_1> _register;

        public Unit()
        {
            _context = new guruEntities();
        }
        public Repository<Table_1> Register
        {
            get
            {
                if (this._register == null)
                    this._register = new Repository<Table_1>(_context);
                return _register;
            }
        }
    }
}

И это ошибка, которую я получаю:

C # «Unit» не содержит определения «Save» и нет доступного метода расширения «Save», принимающего первый аргумент типа «Unit»может быть найдено (вам не хватает директивы using или ссылки на сборку?)

1 Ответ

1 голос
/ 14 июня 2019

Вы должны добавить метод сохранения в свой класс объектов следующим образом:

    public void Save()
    {
        context.SaveChanges();
    }

, чтобы лучше понять, что вы можете обратиться к классу Unitofwork по ссылке ниже

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

...