Получение 'Экземпляра типа сущности' X '' Исключение - PullRequest
0 голосов
/ 19 марта 2019

Я просто хочу спросить, почему я получаю эту ошибку, когда пытаюсь вставить несколько данных в 2 таблицы.Спасибо за ваш расширенный ответ.

Это ошибка, которую я получаю в обработчике исключений

Это мой исходный код

public void CreateCollection(IEnumerable<CollectionViewModel> p , IEnumerable<Claim> user)
        {          
            var userId = Convert.ToUInt32(user.Single(logon => logon.Type == CustomClaimTypes.UserId).Value);
            /*Create access table for insert*/

            var modules = p.Select(collection => new Accountcollection
            {
                AccountId = userId,
                Amount = collection.Amount,
                CashSource = collection.CashSource,
                CollectionDate = collection.CollectionDate,
                CreatedDatetime = DateTime.Now,
                UpdatedDatetime = DateTime.Now,
            }).ToList();

            _context.Accountcollection.AddRange(modules);            

            var calendar_event = p.Select(collection => new Accountcalendarevents
            {
                AccountId = userId,
                Subject = collection.CashSource,
                Description = collection.CashSource,
                Start = collection.CollectionDate,
                End = collection.CollectionDate,
                ThemeColor = "blue",
                Isfullday = true,
                Status = "1",
                CreatedBy = userId,
                CreatedDatetime = DateTime.Now,
                UpdatedBy = userId,
                UpdatedDatetime = DateTime.Now
            }).ToList();

            _context.Accountcalendarevents.AddRange(calendar_event);
            _context.SaveChanges();
        }

это объект событий календаря моей учетной записи

public class Accountcalendarevents
    {
        public long Id { get; set; }
        public long AccountId { get; set; }
        public string Subject { get; set; }
        public string Description { get; set; }
        public DateTime Start { get; set; }
        public DateTime End { get; set; }
        public string ThemeColor { get; set; }
        public bool Isfullday { get; set; }
        public string Status { get; set; }
        public long CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public long UpdatedBy { get; set; }
        public DateTime UpdatedDatetime { get; set; }

    }

и объект сбора данных моей учетной записи

public long Id { get; set; }
        public long AccountId { get; set; }
        public double? Amount { get; set; }
        public string CashSource { get; set; }
        public DateTime CollectionDate { get; set; }
        public DateTime? CreatedDatetime { get; set; }
        public DateTime? UpdatedDatetime { get; set; }

        [ForeignKey("AccountId")]
        public Accountcalendarevents Accountcalendarevents { get; set; }
}

1 Ответ

0 голосов
/ 19 марта 2019

Вы можете попробовать вот так:

_context.Accountcollection.AddRange(modules);
_context.SaveChanges();

.
.
.
_context.Accountcalendarevents.AddRange(calendar_event);
_context.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...