小编Pet*_*röm的帖子

在POCO实体上保存DateTime.MinValue时出现SqlDateTime溢出错误

在使用DateTime属性保存POCO实体时,我遇到了一些问题.当DateTime属性具有DateTime.MinValue的值时,由于SqlDateTime.MinValue和DateTime.MinValue之间的差异,SaveChanges()失败.

那么该怎么办?

1)我应该在保存实体之前检查DateTime.MinValue吗?

2)我的日期时间POCO属性应该设计成这样的吗?

    private SqlDateTime _created;
    public virtual DateTime Created
    {
        get
        {
            return _created.Value;
        }
        set 
        {
            _created = value == DateTime.MinValue ? SqlDateTime.MinValue : value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

/ PW

entity entity-framework poco datetime2

7
推荐指数
2
解决办法
3590
查看次数

嘲笑UserPrincipal

我有一个类来处理密码更改和交换邮箱的到期检查.我在UserPrincipal上检查LastPasswordSet.

那TDD怎么样?

我想通过编写一些测试来检查我的类是否正确处理了密码检查.但我无法理解我如何模拟UserPrincipal.FindByIdentity(principalContext,[some username]).

如果密码在过去90天内被更改,我即将编写一个返回true/false的方法.所以我想模拟UserPrincipal,这样我就可以在我的测试中设置LastPasswordSet返回值,只是为了检查我要编写的"密码需求更改通知"的逻辑.

.net c# tdd

6
推荐指数
2
解决办法
5553
查看次数

在NServiceBus中发送SendOnly

在创建NServiceBus SendOnly端点时,目的只是发射并忘记,即只发送一条消息,然后其他人将负责处理它.这似乎是我需要的东西.我不希望总线和系统处理消息之间的任何通信.系统"A"想要通知系统"B"某事.

那么SendOnly端点的创建如果非常简单,那么系统如何监听来自SendOnly端点的消息呢.

我正在尝试在命令行项目中设置一个侦听器来处理消息.消息被发送到队列但它们不会被系统"B"处理.

这是错误的方法吗?对于这种类型的功能,总线是否过度杀伤?

系统A:

public class Program
{
    static void Main(string[] args)
    {
        var container = new UnityContainer();

        var bus = Configure.With()
            .UnityBuilder(container)
            .JsonSerializer()
            .Log4Net()
            .MsmqTransport()
            .UnicastBus()
            .SendOnly();

        while(true)
        {
            Console.WriteLine("Send a message");
            var message = new Message(Console.ReadLine());
            bus.Send(message);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

系统B:

class Program
{
    static void Main(string[] args)
    {
        var container = new UnityContainer();

        var bus = Configure.With()
            .UnityBuilder(container)
            .JsonSerializer()
            .Log4Net()
            .MsmqTransport()
            .UnicastBus()
            .LoadMessageHandlers()
            .CreateBus()
            .Start();

        Console.WriteLine("Waiting for messages...");

        while(true)
        {

        }
    }
}

public class …
Run Code Online (Sandbox Code Playgroud)

c# nservicebus

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

标签 统计

c# ×2

.net ×1

datetime2 ×1

entity ×1

entity-framework ×1

nservicebus ×1

poco ×1

tdd ×1