小编Moh*_*sen的帖子

如何刷新DbContext

我想刷新我的所有实体DbContext而不重新创建它,我尝试了以下内容,但没有一个是有意义的:

var context = ((IObjectContextAdapter)myDbContext).ObjectContext;

var refreshableObjects = (from entry in context.ObjectStateManager.GetObjectStateEntries(
                                   EntityState.Added
                                   | EntityState.Deleted
                                   | EntityState.Modified
                                   | EntityState.Unchanged)
                          where entry.EntityKey != null
                          select entry.Entity);

context.Refresh(RefreshMode.StoreWins, refreshableObjects);
//.......................................................................
foreach (var entry in this.Orm.ChangeTracker.Entries())
{
    entry.State = EntityState.Unchanged;
}
this.Orm.ChangeTracker.DetectChanges();
Run Code Online (Sandbox Code Playgroud)

唯一一个刷新我的DbContext:

foreach (var i in this.Orm.ChangeTracker.Entries())
    i.Reload();
Run Code Online (Sandbox Code Playgroud)

但它太慢了.你能帮我选择正确的方法吗?

c# entity-framework refresh entity-framework-4 dbcontext

21
推荐指数
2
解决办法
5万
查看次数

在c#中是否有等效的Delphi"with"命令?

我想知道在C#中是否有一个命令,我可以with command在Delphi中使用它?

// like this :
with(textbox1)
{
   .text="some text as text of text box";
   .tag=1231;
}
Run Code Online (Sandbox Code Playgroud)

//在Delphi中

with edit1 do 
 begin
   text="some text as text of edit1";
   tag=1231;
 end;
Run Code Online (Sandbox Code Playgroud)

.net c# delphi .net-4.0 c#-4.0

10
推荐指数
2
解决办法
4880
查看次数

如何在F#中声明一般的异常类型

如何定义如下的异常?

exception CustomExn<'TMessage> of 'TMessage list
Run Code Online (Sandbox Code Playgroud)

generics f# exception

8
推荐指数
2
解决办法
211
查看次数

接口继承自golang中的其他接口

接口继承在C#中如下所示:

interface IA{
    void MethodX();
}

interface IB : IA{
    void MethodY();
}
Run Code Online (Sandbox Code Playgroud)

如何在go中重用接口定义?

oop go

7
推荐指数
1
解决办法
7524
查看次数

在Golang中获取方法参数名称

给出以下Go方法:

func (t *T) TMethod(data *testData) (interface{}, *error) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想反映参数的名称(data在这里).

我尝试了以下,但它返回结构名称(testData在这里):

reflect.ValueOf(T).MethodByName("TMethod").Type().In(0).Elem().Name()
Run Code Online (Sandbox Code Playgroud)

如何获取参数的名称?

reflection go

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

在Golang中将接口设置为nil

我正在尝试将接口的内部值设置nil为如下所示:

typ := &TYP{InternalState: "filled"}
setNil(typ)

fmt.Printf("Expecting that %v to be nil", typ)
Run Code Online (Sandbox Code Playgroud)

我需要知道如何实现该setNil(typ interface{})方法.

有关更多详细信息,请参阅play.golang.org中的此代码.

reflection pointers interface go

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

如何设计 MongoDB 数据模型来存储 Event Sourcing 事件

如果我创建单个table(或documentin document databases)每个aggregate type,我可以在重构write侧面时合并数据库或分片它们microservices,结果应用程序变得更具可扩展性,并且还提高了加载速度events

在设计event store类似的东西时,我应该注意什么副作用吗?

编辑:

我目前正在使用MongoDb.

如果我创建一个collectionperaggregate id怎么办?还是一个databaseperaggregate type和一个collectionper aggregate id...?

这在性能、数据管理的简易性、可维护性或进一步的可扩展性方面有问题吗?

database-design mongodb cqrs event-sourcing

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

为 CQRS 实施包装 Masstransit 是一个好习惯吗?

我宁愿有一个单独的CommandBusand EventBusand also ICommandHandler<TCommand>andIEventHandler<TCommand> 这样一个OrderEventHandler类看起来像:

public class OrderEventHandler :
    IEventHandler<OrderPlaced>,
    IEventHandler<OrderRegistrantAssigned>,
    IEventHandler<OrderTotalsCalculated>,
    IEventHandler<OrderConfirmed>,
    IEventHandler<OrderExpired>,
    IEventHandler<SeatAssignmentsCreated>,
    IEventHandler<SeatAssigned>,
    IEventHandler<SeatAssignmentUpdated>,
    IEventHandler<SeatUnassigned>
{ 
    public void Handle(OrderPlaced @event){...}
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

一个可能的解决方案是在Masstransit基础设施和我的之间提供一个采用者CQRS(比如ConsumerToHandlerAdopter<T>它只公开我通常需要的上下文细节)。

但是由于我是 新手Masstransit,我无法解决以后可能需要处理的问题。

所以我的问题是: 通常是否值得包装 Masstransit 以便我处理自己的基础设施?

c# masstransit message-queue cqrs microservices

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

将float64转换为字节数组

如何将float64变量转换为big endian编码的字节数组?

var f float64 = 12.666512
var result []byte = float64ToByte(f);
fmt.Printf("result:%f",result)
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我应该如何float64ToByte在以下游乐场中实现功能?

https://play.golang.org/p/LevxCDd7mK

type-conversion go

4
推荐指数
2
解决办法
5850
查看次数

如何获得此方法的调用类

可能吗?

我想得到类的名称(如foo),它正在调用我的方法(如myMethod)

(并且该方法在另一个类中(如i))

喜欢:

class foo
{
    i mc=new i;
    mc.mymethod();

}
class i
{
    myMethod()
    {........
       Console.WriteLine(InvokerClassName);// it should writes foo
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

c#

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

嵌套通用类型的接口

给出以下界面:

type A<'t> =
    abstract Scratch: 't
Run Code Online (Sandbox Code Playgroud)

如何简单地创建这样的界面:

type X<A<'t>> =
    abstract f: A<'t>
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

type X<'t,'y when 'y:A<'t>> =
    abstract f: 'y
Run Code Online (Sandbox Code Playgroud)

还有这个:

type X<'t,A<'t>> =
    abstract f: A<'t>
Run Code Online (Sandbox Code Playgroud)

但没有一个对我有用.

generics f# nested-generics

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

如何使用 Microsoft.Office.Interop.Word 在某些 Word 文档中查找和修改文本框?

我必须通过 TextBox id 访问和更改某些 Word 文档的某些文本框的文本。例如,假设我在 word 文档中有一个名为 txtDate 的对象,我想将其内容更改为现在的日期,那么如何通过其 id 获取该对象?

c# ms-word office-interop visual-studio

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

DDD:将域分解为不同程序集中的子域

我有一个包含 2 个子域的域。

每个子域都包含对另一个子域的一些依赖关系。

我想将每个子域放入一个单独的程序集中(我想将其拆分为1st:vertical 2nd: horizontal modules =>easy reusability)。

问题是:

我如何管理不同的依赖项sub domains(每个依赖项都放在一个单独的程序集中)

我在正确的道路上吗?

c# domain-driven-design

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