有没有一种方法可以使用 DBContext class 访问其 table 是在 OnModelCreating() 中创建的实体,就像使用 DBSet<T> 的方式一样?
Is there a way to use the DBContext class to access a entity whose table was created in OnModelCreating() the way a DBSet<T> is used?
我有两个 类:文章和类别。文章拥有类别。在 DBContext(通过 EntityConfig 文件)中,我配置了以下内容:
jsConfiguration.OwnsMany(article => article.Categories, s =>
{
s.WithOwner();
s.Property<DateTime>("CreatedDate");
s.Property<DateTime>("UpdatedDate");
s.ToTable("ArticleBaseCategories");
});
请接受我必须以这种方式配置它并且无法使用 DBSet。
我希望能够使用类似于在我的 DBSeedClass 中定义了 DBSet 类别 属性 的语法。例如:
_context.Categories.Where(category => category.Name == "example")
有没有办法在不实际创建 DBSet<> 的情况下做到这一点属性?
没有。模型中的许多不同实体可以将相同的拥有实体类型映射到不同的表,因此 EF 不知道从哪里获取它们。您可以使用 Dapper 和原始 SQL 查询来获取它们。或者抓取一些文章实体,然后在客户端运行.SelectMany(a => a.Categories)
我有两个 类:文章和类别。文章拥有类别。在 DBContext(通过 EntityConfig 文件)中,我配置了以下内容:
jsConfiguration.OwnsMany(article => article.Categories, s =>
{
s.WithOwner();
s.Property<DateTime>("CreatedDate");
s.Property<DateTime>("UpdatedDate");
s.ToTable("ArticleBaseCategories");
});
请接受我必须以这种方式配置它并且无法使用 DBSet。
我希望能够使用类似于在我的 DBSeedClass 中定义了 DBSet 类别 属性 的语法。例如:
_context.Categories.Where(category => category.Name == "example")
有没有办法在不实际创建 DBSet<> 的情况下做到这一点属性?
没有。模型中的许多不同实体可以将相同的拥有实体类型映射到不同的表,因此 EF 不知道从哪里获取它们。您可以使用 Dapper 和原始 SQL 查询来获取它们。或者抓取一些文章实体,然后在客户端运行.SelectMany(a => a.Categories)