小编dan*_*dcg的帖子

无状态状态机库 - 适当的结构方式?

在使用c#无状态库时,人们如何构建代码?

https://github.com/nblumhardt/stateless

我特别感兴趣的是它如何与注入的依赖关系以及正确的职责和分层方法联系起来.

我目前的结构涉及以下内容:

public class AccountWf
{
    private readonly AspNetUser aspNetUser;

    private enum State { Unverified, VerificationRequestSent, Verfied, Registered }
    private enum Trigger { VerificationRequest, VerificationComplete, RegistrationComplete }

    private readonly StateMachine<State, Trigger> machine;

    public AccountWf(AspNetUser aspNetUser, AccountWfService userAccountWfService)
    {
        this.aspNetUser = aspNetUser;

        if (aspNetUser.WorkflowState == null)
        {
            aspNetUser.WorkflowState = State.Unverified.ToString();
        }

        machine = new StateMachine<State, Trigger>(
        () => (State)Enum.Parse(typeof(State), aspNetUser.WorkflowState),
        s => aspNetUser.WorkflowState = s.ToString()
        );

        machine.Configure(State.Unverified)
        .Permit(Trigger.VerificationRequest, State.VerificationRequestSent);

        machine.Configure(State.VerificationRequestSent)
        .OnEntry(() => userAccountWfService.SendVerificationRequest(aspNetUser))
        .PermitReentry(Trigger.VerificationRequest)
        .Permit(Trigger.VerificationComplete, State.Verfied);

        machine.Configure(State.Verfied)
        .Permit(Trigger.RegistrationComplete, State.Registered); …
Run Code Online (Sandbox Code Playgroud)

c# state-machine stateless-state-machine

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

Linqpad和EF5代码优先

尝试在Linqpad中对dbcontext程序集运行查询时出现以下错误.

InvalidOperationException:自创建数据库以来,支持"UserQuery"上下文的模型已更改.请考虑使用"代码优先迁移"来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269).

做了一些阅读后,似乎:

Database.SetInitializer<DiaryAssistantContext>(null);
Run Code Online (Sandbox Code Playgroud)

需要.但是,这已经在我的派生DbContext类中.

任何人都可以给我指针吗?

entity-framework linqpad ef-code-first

9
推荐指数
2
解决办法
1858
查看次数