小编Nik*_*nis的帖子

NHibernate和ASP.NET成员资格

我将ASP.NET MVC 3用于大量使用的应用程序或用户和角色.

要创建用户并分配角色,我使用ASP.NET成员资格的标准流程.

在整个应用程序中,我使用NHibernate进行底层数据访问,除了这些地方是默认的MembershipProvider和RoleProvider实现(在AccountController内部委托调用这些实现).

我想使用NHibernate,以便能够读取/编辑/修改由ASP.NET成员资格管理的表上的值.

我找到了两个解决方案

  1. 为MembershipProvider和RoleProvider编写一个自定义的NHibernate实现(甚至使用这个实现).那是最艰难的道路.

  2. 仅映射表(如描述在这里),然后直接使用NHibernate的(虽然从任何的AccountController默认动作将被默认提供商仍然处理).

有什么建议/建议吗?

asp.net nhibernate asp.net-mvc asp.net-membership fluent-nhibernate

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

在WebStorm中编译.coffee文件

是否可以编译我正在从WebStorm编辑的.coffee文件?

(不离开IDE,类似于Mindscape的Visual Studio Web Workbench.)

javascript coffeescript webstorm

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

是否存在与Enumerable.DefaultIfEmpty相当的F#?

经过相当多的搜索,我找不到与Enumerable.DefaultIfEmpty相当的F#.

F#中是否存在类似的东西(也许是以不同的,惯用的方式)?

linq f#

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

从ticks中及时生成实例的有效表示

我试图DateTime使用DateTime构造函数(Int64)生成随机实例,如下所示:

string date = new DateTime(ticks).ToString("dd/mm/yyyy")
Run Code Online (Sandbox Code Playgroud)

ticks633999744000000000(2010/01/25 in ticks)和635578272000000000(2015/01/26 ticks)之间的随机数.

输出:

date       ticks
----       -----
13/37/2013 634963486624182148
27/58/2010 634158395314391599
20/49/2011 634442033950650720
21/15/2013 634943637106398216
10/30/2014 635380290170226984
10/07/2012 634881676490509687
27/43/2012 634711201999181055
15/13/2012 634726699845971038
01/59/2010 634241843691014848
Run Code Online (Sandbox Code Playgroud)

但是,上述结果并不代表有效的实例.

如何使用?生成DateTime表示有效日期的随机实例ticks

c# random datetime date

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

Moq断言一个抽象方法被调用

我正在使用AutoFixture为我的Abstract类编写单元测试,这是我正在尝试做的代表:

public abstract class Base
{
    public virtual void DoSomethingCool()
    {
        OnDoingSomethingCool();
    }

    protected abstract void OnDoingSomethingCool();
}
Run Code Online (Sandbox Code Playgroud)

我的单元测试看起来像这样:

[TestMethod]
public void TestMethod1()
{
    var fixture = new Fixture().Customize(new AutoMoqCustomization());

    var sut = fixture.Create<Base>();

    // How to assert that the OnDoingSomethingCool method was called
    sut.Invoking(x => x.DoSomethingCool())
        .ShouldNotThrow();
}
Run Code Online (Sandbox Code Playgroud)

那么如何断言受保护的抽象方法实际上是在DoSomethingCool方法中调用的?

如果它是来自注入依赖项的对象,我将能够设置模拟使用Moq并断言该方法被调用,但由于该方法是我的主题测试中的抽象方法,我如何断言该方法被调用?

c# unit-testing moq autofixture

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

在C#中使用类似于Java的多维数组

在Java中我们可以这样做:

bool[][] something = new bool[5][10];

// Then, we can do this, since indexes do not refer to null instances:
something [3][7] = true;
Run Code Online (Sandbox Code Playgroud)

但是,在C#中似乎没有编译.在C#中有相同的方法吗?

c# java arrays porting multidimensional-array

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

使用Reflection Invoke将Lamba作为参数传递的静态泛型方法

是否可以通过Reflection编写以下代码?

    var fake = A.Fake<Foo>(
            o => o.WithArgumentsForConstructor(new[] { "Hello" }));
Run Code Online (Sandbox Code Playgroud)

其中Ø为:

Action<IFakeOptionsBuilder<T>>
Run Code Online (Sandbox Code Playgroud)

其中WithArgumentsForConstructor是:

IFakeOptionsBuilder<T> WithArgumentsForConstructor(IEnumerable<object> argumentsForConstructor);
Run Code Online (Sandbox Code Playgroud)

Foo类是:

class Foo
{
    public Foo(string s)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我做的是:

object fake = typeof(A)
    .GetMethod("Fake", new Type[] { })
    .MakeGenericMethod(new[] { this.targetType })
    .Invoke(null, /* Here I need to pass the lambda. */);
Run Code Online (Sandbox Code Playgroud)

c# reflection lambda fakeiteasy

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

返回IEnumerable <object []>的属性的等效F#代码是什么

我在F#中非常新(但非常兴奋).

返回的属性的等效F#代码是IEnumerable<object[]>什么?

public static IEnumerable<object[]> EnumerateFooBar
{
    get
    {
        yield return new object[]
        {
            "foo", 
            "bar"
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

f#

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