我目前正在使用实体框架来创建一个应用程序,但我很新鲜,所以有些事情让我感到困惑。
我有一个简单的问题,我无法找到答案。
是否可以将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);
这是可能的,如果是的话,这是一个很好的解决方案吗?有更好的方法吗?
此致 罗宾
答案 0 :(得分:0)
首先:将DbSet视为您的SQL表。所以,你不能把一张桌子放在桌子里。
第二:DavidG是完全正确的。您需要执行以下操作:
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; }
}