Я ожидаю увидеть введенные данные в базе данных SQL, применяются только миграции без введенных данных в целях тестирования.
Это пример заполнения данных, я добавил реальные идентификаторы Категории для обеспечения надежности связи между продуктами и категориями.
Я использую IEntityTypeConfiguration, а не OnModelCreating в DbContext
public class CategoryConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasKey(p => p.Id);
builder.Property(p => p.Name)
.IsRequired();
builder.HasMany(p => p.Products)
.WithOne(p => p.Category)
.HasForeignKey(p => p.CategoryId)
.OnDelete(DeleteBehavior.SetNull);
var categories = new List {
new Category
{
Id = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999"),
Name = "Mobile Phones",
CreateTime = DateTime.Now
},
new Category
{
Id = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052"),
Name = "Laptops",
CreateTime = DateTime.Now
}
};
builder.HasData(categories);
}
}
public class ProductConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasKey(p => p.Id);
builder.Property(p => p.Name)
.IsRequired();
builder.Property(p => p.Price)
.IsRequired();
builder.HasMany(p => p.Images)
.WithOne(p => p.Product)
.HasForeignKey(p => p.ProductId)
.OnDelete(DeleteBehavior.Cascade);
var products = new List {
new Product
{
Id = Guid.Parse("2cc1ca42-7f05-48e9-b223-886c5c98a4af"),
Name = "IPhone 15 Pro",
Description = "Titanum - 1TB",
Price = 59.99,
CategoryId = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999")
},
new Product
{
Id = Guid.Parse("c8faaae7-fee5-450c-ac98-0baaa046077d"),
Name = "IPhone 13",
Description = "Moonlight - 128GB",
Price = 29.99,
CategoryId = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999")
},
new Product
{
Id = Guid.Parse("e4b56b1a-6372-4e5b-9f61-03ee2b5e6b64"),
Name = "MacBook Pro 16-inch",
Description = "256GB SSD Storage / 8-Core CPU 8-Core GPU 8GB Unified Memory",
Price = 1500.99,
CategoryId = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052")
},
new Product
{
Id = Guid.Parse("0d7957d2-2ca7-43eb-b9e0-6e300da1a6b4"),
Name = "MacBook Air 13-inch",
Description = "M3 Max / 1TB / 16-core CPU 40-core GPU 48GB Unified Memory",
Price = 1350.99,
CategoryId = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052")
}
};
builder.HasData(products);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... he-dummy-d
Когда я использую заполнение в приложении .NET Core, мигрирует только схема БД без фиктивных данных, которые я добавил р ⇐ C#
Место общения программистов C#
1729666851
Anonymous
Я ожидаю увидеть введенные данные в базе данных SQL, применяются только миграции без введенных данных в целях тестирования.
Это пример заполнения данных, я добавил реальные идентификаторы Категории для обеспечения надежности связи между продуктами и категориями.
Я использую IEntityTypeConfiguration, а не OnModelCreating в DbContext
public class CategoryConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasKey(p => p.Id);
builder.Property(p => p.Name)
.IsRequired();
builder.HasMany(p => p.Products)
.WithOne(p => p.Category)
.HasForeignKey(p => p.CategoryId)
.OnDelete(DeleteBehavior.SetNull);
var categories = new List {
new Category
{
Id = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999"),
Name = "Mobile Phones",
CreateTime = DateTime.Now
},
new Category
{
Id = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052"),
Name = "Laptops",
CreateTime = DateTime.Now
}
};
builder.HasData(categories);
}
}
public class ProductConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasKey(p => p.Id);
builder.Property(p => p.Name)
.IsRequired();
builder.Property(p => p.Price)
.IsRequired();
builder.HasMany(p => p.Images)
.WithOne(p => p.Product)
.HasForeignKey(p => p.ProductId)
.OnDelete(DeleteBehavior.Cascade);
var products = new List {
new Product
{
Id = Guid.Parse("2cc1ca42-7f05-48e9-b223-886c5c98a4af"),
Name = "IPhone 15 Pro",
Description = "Titanum - 1TB",
Price = 59.99,
CategoryId = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999")
},
new Product
{
Id = Guid.Parse("c8faaae7-fee5-450c-ac98-0baaa046077d"),
Name = "IPhone 13",
Description = "Moonlight - 128GB",
Price = 29.99,
CategoryId = Guid.Parse("bdafc3c9-abe6-4ac5-bdb6-8361524ff999")
},
new Product
{
Id = Guid.Parse("e4b56b1a-6372-4e5b-9f61-03ee2b5e6b64"),
Name = "MacBook Pro 16-inch",
Description = "256GB SSD Storage / 8-Core CPU 8-Core GPU 8GB Unified Memory",
Price = 1500.99,
CategoryId = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052")
},
new Product
{
Id = Guid.Parse("0d7957d2-2ca7-43eb-b9e0-6e300da1a6b4"),
Name = "MacBook Air 13-inch",
Description = "M3 Max / 1TB / 16-core CPU 40-core GPU 48GB Unified Memory",
Price = 1350.99,
CategoryId = Guid.Parse("f5a4eb59-26b3-4784-b427-65b5f7f57052")
}
};
builder.HasData(products);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79116612/when-i-use-seeding-in-net-core-app-only-db-schema-migrates-without-the-dummy-d[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия