Я хочу создать проект, который будет:
Чтение данных из базы данных с использованием EntityFramework DbSet и отображение этих данных из базы данных в представлении с использованием foreach.
Я создал базу данных, добавил значения в connectionString, создал модель.
Теперь я создал 2 класса и модифицировал HomeController, который вы можете увидеть ниже. В Index.cshtml у меня просто есть «Модель», и после запуска программы я вижу некоторый sql-запрос - я думал, что смогу написать, например, Model.Id, и с помощью foreach получить все идентификаторы, вместо этого я просто написал Model и сделал Не используйте foreach, потому что он не работает. И у меня второй вопрос - почему после запуска программы имя моей базы данных меняется с desktop-f6gn527. [DatabaseName] .dbo на буквально EFDbContext ([DatabaseName])? А также мое первое имя строки в таблице (Id) меняется на ProductID. У меня много проблем с этими базами данных, потому что они исчезают, меняют имена, а в обозревателе серверов, например, у меня. 2 базы, и когда я иду в Object SQL Explorer, я вижу все ... Я так запутался
Product.cs
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public int Price { get; set; }
}
EFDbContext.cs
public class EFDbContext:DbContext
{
public DbSet<Product> Products { get; set; }
}
EFDbContextCollection
public class EFDbContextCollection
{
EFDbContext context = new EFDbContext();
public IEnumerable<Product> Products { get { return context.Products; } }
}
HomeController.cs
public ActionResult Index()
{
EFDbContextCollection contexter = new EFDbContextCollection();
return View(contexter.Products);
}
Я получаю ЭТО в html localhost: (порт) / Home / Index:
SELECT [Extent1].[Id] AS [Id], [Extent1].[Name] AS [Name], [Extent1].[Category] AS [Category], [Extent1].[Price] AS [Price] FROM [dbo].[Products] AS [Extent1]