DbSet包含DbSet的组
本文关键字:DbSet 的组 包含 | 更新日期: 2023-09-27 18:14:20
我目前正在使用实体框架为我正在创建的应用程序,但我很新鲜,所以有些事情让我感到困惑。
我有一个简单的问题,但我找不到答案。
是否可以在DbSet中存储DbSet?比如说,我想让我的用户分组。每组应该有自己的一组文章,客户等。
我的想法是这样的:
public class Context : DbContext
{
public DbSet<Group> Groups { get; set; }
}
public class Group: DbContext
{
public List<User> Members { get; set; }
public DbSet<Article> Articles { get; set; }
public DbSet<Customer> Customers { get; set; }
}
然后我将像这样调用文章:
context.Groups.Find(GetGroupIdOfLoggedInUser()).Articles.Find(id);
这是可能的吗?如果是,这是一个好的解决方案吗?有没有更好的方法?
问候,罗宾
第一:将DbSet视为SQL表。所以,你不能把一个表放到一个表里面。
第二:大卫完全正确。您需要执行以下操作:
public class Context : DbContext
{
public DbSet<Group> Groups { get; set; }
}
public class Group
{
public List<User> Members { get; set; }
public List<Article> Articles { get; set; }
public List<Customer> Customers { get; set; }
}