我想删除具有许多用户组的用户,但这些用户组不属于该用户:其他用户也可以使用此用户组.即使没有用户引用用户组,也可以存在用户组.
我想映射多对多关系,这样如果用户被删除,关系会自动删除但不是用户组?
我试过,Cascade.All
因为我认为多对多的级联会影响关系但不会影响另一方.我以为只会Cascade.AllDeleteOrphan
删除其他人.显然我错了.
似乎我不理解级联规则.有人可以向我提供明确的解释,也许也可以达到我的目标吗?
谢谢
我试图让我的头周围DDDD在格雷格-年轻的风格.
关于如何使用CQRS + EventSourcing实现DDDD有很多话题,并且有一些示例实现......总而言之,它可能会令人困惑......
在Gregs视图中,聚合没有getter或setter - 只是发出相应事件的状态更改方法.
Basicly一个事件 decribes一个状态转换,在过去happend.它的数据描述了改变了什么.
有人说,这些数据可以通过其他数据" 丰富 ".
当这些额外的数据可以来从?
即我有- User
和两个聚合根(可以独立存在,有身份).有一个叫做的方法.Usergroup
User
AddToUsergroup
public class User : AggregateRoot
{
// ...
public void AddToUsergroup(Usergroup usergroup)
{
// validate state
RaiseEvent(new UserJoinedUsergroup(this.Id, usergroup.Id));
}
// ...
}
public class Usergroup : AggregateRoot
{
private string _displayName;
// ...
public void ChangeDisplayName(string displayName)
{
// validate state …
Run Code Online (Sandbox Code Playgroud) 我目前正在深入研究DDD,需要一点点启发.
我有两个实体
Temple
TempleVariant
Temple
(耳机)包含基本信息(名称,描述,...),并有n个变体,其中包含技术说明(CAD绘图,尺寸,...)
我的第一印象是:
Temple
并TempleVariant
形成一个聚合 - 它们属于一起:它们似乎非常紧密耦合
Temple
全部TempleVariant
s应该同样删除TempleVariant
没有 Temple
(至少没有意义)s 不可能存在但后来我读到,聚合根之外的任何内容都不允许引用另一个聚合内的实体.但实际上并没有Temple
被外部实体引用而是引用了TempleVariants
.
这是否意味着在(DDD)现实中Temple
并且TempleVariant
是不同的聚合,它们似乎只是一个聚合体?
但是,如果我删除Temple
怎么办?正如我所说,TempleVariant
s也必须删除.但那会违反规则"一次聚合 - 改变 - 一次交易"(或者所谓的:),因为我的"感觉"是我必须在一次交易中删除它们......
Lg
warappa
entity domain-driven-design transactions aggregate reference
这似乎是一个荒谬的简单问题,但似乎更难......
我想阻止对中键的默认处理。我创建了一个的jsfiddle并加送stopPropagation
,stopImmediatePropagation
,preventDefault
和return false
-就像这样:
$(document).on("mousedown", "a", function(e)
{
console.log("\nprevent mousedown...");
e.stopPropagation();
e.stopImmediatePropagation();
e.preventDefault();
console.log("...mousedown prevented");
return false;
});
Run Code Online (Sandbox Code Playgroud)
但是中键被触发。顺便说一句,当我松开中间按钮时它会被触发。这是 JSFiddle:http : //jsfiddle.net/Gq4p9/4/
在 Chrome 29、Firefox 23 和 IE11 上测试。
我希望你们中的某个人能找出为什么这个脚本不会阻止默认处理。
NEventStore 3.2.0.0
据我所知,NEventStore需要旧事件类型必须保留以进行事件上转换.
为了使它们在将来正确反序列化,它们必须具有唯一的名称.建议称之为EventEVENT_VERSION
.
有没有办法避免EventV1
,EventV2
...,EventVN
混乱你的域模型,只是继续使用Event
?
你有什么策略?
aggregate ×1
cascade ×1
cqrs ×1
dddd ×1
entity ×1
javascript ×1
many-to-many ×1
neventstore ×1
nhibernate ×1
reference ×1
transactions ×1