Таблица поиска первого ключа базы данных и таблица - PullRequest
0 голосов
/ 13 апреля 2019

Я использую подход базы данных в Entity Framework. У меня есть 3 класса: 1) Категория: Таблица поиска. 2) Магазин: который содержит свойство категории. 3) SystemUser: имеет отношение между Store

Я хочу добавить Store в базу данных со свойством Category, но получаю ошибку

"Строковые или двоичные данные будут обрезаны. Заявление было прекращено. "

 public class SystemUser
    {
        public int Id { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public virtual List<Store> Stores { get; set; }

        public SystemUser()
        {
            this.Stores = new List<Store>();
        }

    }

     public class Category
        {

            public int Id { get; set; }
            public string Name { get; set; }

            public List<Store> Stores { get; set; }

            public Category()
            {
                this.Stores = new List<Store>();
            }



    public class Store
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string CountryCode { get; set; }
            public string Email { get; set; }


            public virtual Category Category { get; set; }

             // other relation
            public virtual SystemUser User { get; set; }
             // other relation
            public virtual StoreStockDetail StoreStockDetail { get; set; }

        }

    public void Process(){

                  var user = await _context.SystemUser.Include(x => 
               x.Stores).FirstOrDefaultAsync(x => x.UserName == userAddStore.UserName);


                var category = await _context.Category.FirstOrDefaultAsync(x => (int)x.Id == userAddStore.Category);


                // Map to Store
                Store store = new Store()
                {
                    Category = category,
                    CountryCode = userAddStore.CountryCode,
                    Email = userAddStore.Email,
                    Name = userAddStore.Name
                };


                //store.StoreStockDetail = storeStockDetail;
                user.Stores.Add(store);
                await _context.SaveChangesAsync(); // error happens there
    }

Я хочу сохранить категорию в качестве справочной таблицы. Эту категорию следует добавить в магазин.

...