【发布时间】:2015-08-19 04:54:08
【问题描述】:
我尝试使用 DDD 来描述域模型和代码优先方法,以使用实体框架(使用 fluent api)映射到数据库表。 例如,我有 2 个实体:俱乐部和用户。俱乐部有很多用户。我需要将新用户添加到俱乐部。
class User
{
public string Name { get; set; }
public Club Club { get; set; }
}
class Club
{
public string ClubName { get; set; }
public ICollection<User> Members { get; set; }
public void AddNewMember(User user)
{
//..some logic and checks
Members.Add(user);
}
}
- 那么,我应该加载 Club 中的所有用户收藏以添加新的并保存吗?还是过分了?
- 为具有大集合的实体建模的最佳方法是什么?我应该总是加载它们吗?或者移动到另一个单独的对象?
【问题讨论】:
-
一个用户只能属于一个俱乐部吗?你还需要强制执行哪些不变量?
-
@Marco,是的,用户只属于一个俱乐部。我需要检查一些规则——在我的例子中很简单,但我对使用相关实体的集合有疑问。
标签: c# entity-framework domain-driven-design