У меня есть эта схема таблицы:
CREATE TABLE Categories
(
Id INT IDENTITY(1,1),
Name VARCHAR(100),
CONSTRAINT PK_Category_Id PRIMARY KEY (Id)
)
CREATE TABLE Products
(
Id INT IDENTITY(1,1),
IdCategory INT NOT NULL
CONSTRAINT FK_Products_IdCategory__Categories_Id
FOREIGN KEY(IdCategory) REFERENCES Categories(Id),
Name VARCHAR(100),
Price DECIMAL(18,2),
ImageUrl VARCHAR(256),
CONSTRAINT PK_Product_Id PRIMARY KEY (Id)
)
Я выполняю следующую команду в консоли диспетчера пакетов:
Scaffold-DbContext "Server=FOO-PC\SQL2014XP;Database=fooDatabase;Trusted_Connection=True;"
Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Entity Framework Core генерирует следующееклассы домена:
public partial class Categories
{
public Categories()
{
Products = new HashSet<Products>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Products> Products { get; set; }
}
public partial class Products
{
public Products()
{
OrderItems = new HashSet<OrderItems>();
ShoppingCartItems = new HashSet<ShoppingCartItems>();
}
public int Id { get; set; }
public int IdCategory { get; set; }
public string Name { get; set; }
public decimal? Price { get; set; }
public string ImageUrl { get; set; }
public virtual Categories IdCategoryNavigation { get; set; }
public virtual ICollection<Items> Items { get; set; }
}
Мой вопрос:
- Почему EF Core генерирует
public virtual ICollection<Products> Products { get; set; }
в классе Categories
? - Можно ли предотвратить генерацию этого свойства
Products
?