Я использую подход базы данных в 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
}
Я хочу сохранить категорию в качестве справочной таблицы.
Эту категорию следует добавить в магазин.