小编hig*_*ace的帖子

EF代码优先:如何在跟踪DDD时从实体的Collection中删除一行?

所以这是场景:

DDD声明您使用存储库来获取聚合根,然后使用它来添加/删除它拥有的任何集合.

添加很简单,你简单的调用.Add(Item item)Collection要添加到.保存时,会在数据库中添加一个新行.但是,删除是不同的 - 调用.Remove(Item item)不会从数据库中删除该项,它只是删除外键.所以,虽然,是的,它在技术上不再是集合的一部分,它仍然在数据库中.

阅读,唯一的解决方案是使用数据上下文删除它.但根据DDD,域对象不应该知道数据上下文,因此删除必须在域外进行.

什么是正确的方法?或者让数据库中的孤儿都可以接受(也许是运行例程来清除它们)?

c# domain-driven-design entity-framework code-first

17
推荐指数
2
解决办法
3870
查看次数

循环中的依赖注入

下面这样做的正确方法是什么,这ParentClass取决于MyClass什么?

public class ParentClass
{
    public void MyFunction(IList<Foo> foos)
    {
        foreach (var bar in foos)
        {
            var myClass = new MyClass();
            myClass.DoStuff();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

通常没有循环我只是用ParentClass构造函数注入它,但是在这里我需要为循环的每次迭代创建一个新实例.

或者也许有一种更好的方法来完成我想要实现的目标?也许myClass可以在每次迭代结束时重置自己,以便我可以重用它?

c# dependency-injection

6
推荐指数
1
解决办法
980
查看次数

在Ravendb文档中查询子集合

说我有一个blog集合posts,每个post都有一个集合comments.我想查询所有评论,以查找所有博客帖子中最近的5条评论.使用RDBMS,您只需直接查看注释表,按日期排序并执行5.在Ravendb中是否可以执行类似的操作,因为注释不是聚合根?

c# nosql ravendb

5
推荐指数
1
解决办法
1634
查看次数

如何在JSX中映射ImmutableJS地图列表?

我在Redux商店中有一个ImmutableJS结构,如下所示:

Immutable.fromJS([{
  foo: 'bar'
}, {
  foo: 'baz'
}]);
Run Code Online (Sandbox Code Playgroud)

它被映射到我的React组件中的this.props.items.在我的React渲染函数中,我正在尝试这样做:

this.props.items.map(item => {
  return (
    <div>{item.foo}</div>
  );
});
Run Code Online (Sandbox Code Playgroud)

什么都没有呈现.但是,如果我.toJS()列表如下,那么它的工作原理:

this.props.items.toJS().map(item => {
  return (
    <div>{item.foo}</div>
  );
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:.toJS()是正确的方法吗?如果没有,我做错了什么?

reactjs immutable.js

3
推荐指数
1
解决办法
1804
查看次数