小编Ber*_*ern的帖子

null对象的FluentValidation规则

我一直在尝试创建一个FluentValidation规则,在验证它的属性之前检查它验证的对象的实例是否为null.

我宁愿在验证器中封装这个空验证,而不是在调用代码中执行它.

请参阅下面的示例代码以及需要所需逻辑的注释:

namespace MyNamespace
{
    using FluentValidation;

    public class Customer
    {
        public string Surname { get; set; }
    }

    public class CustomerValidator: AbstractValidator<Customer> 
    {
        public CustomerValidator() 
        {
            // Rule to check the customer instance is not null.

            // Don't continue validating.

            RuleFor(c => c.Surname).NotEmpty();
        }
    }

    public class MyClass
    {
        public void DoCustomerWork(int id)
        {
            var customer = GetCustomer(id);
            var validator = new CustomerValidator();

            var results = validator.Validate(customer);

            var validationSucceeded = results.IsValid;
        }

        public Customer GetCustomer(int id)
        {
            return …
Run Code Online (Sandbox Code Playgroud)

c# fluentvalidation

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

Unity Singleton代码

我是Unity的新手,我正在尝试编写一些Unity逻辑,它初始化并注册/解析Email对象的单例实例,以便它可以用于其他几个对象,下面的一个例子是OperationEntity.

因此,当它注册时,它会使用配置文件中的某些值填充Email单例,然后每当创建一个OperationEntity实例时(在我的情况下它被反序列化)它就会使用相同的Email单例.所以我的所有客户端逻辑需要做的是反序列化OperationEntity并调用PerformAction() - 使用Unity负责的电子邮件实例.

public interface IEmail
{
    string FromName { get; set; }
    string FromEmailAddress { get; set; }
}

public class Email : IEmail
{
    public string FromName { get; set; }
    public string FromEmailAddress { get; set; }

    public Email(string fromName, string fromEmailAddress)
    {
        FromName = fromName;
        FromEmailAddress = fromEmailAddress;
    }
}

public class OperationEntity
{
    private readonly IEmail _email;

    public int OperationId { get; set; }
    public string OperationName { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

c# unity-container

26
推荐指数
3
解决办法
5万
查看次数

通过SSMS订购SQL Azure表列

我知道您可以进入SQL Server Management Studios中的表的设计视图,并在设计视图中显示重新排序列,但是由于禁用了该选项,因此无法使用SQL Azure.有没有办法修改SQL Azure表,以便您可以在设计视图中显示列重新排序?

我在过去几个月里一直在运行许多数据库升级以支持新的需求,并希望重新排列列在设计视图中的显示方式,以便它们更容易阅读,即所以它们以主键开头,然后是外键,然后是普通列,最后添加,由字段修改.它纯粹是为了使表格更具可读性,因为我随着时间的推移管理它们.

sql ssms azure

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

在动态创建表行后应用Bootstrap"table-striped"

我正在尝试确保将Twitter Bootstrap table-stripped CSS样式应用于在运行时动态添加行的表.出于某种原因,我试图找到底部,我无法使这种特殊的风格工作,以便我的新行采用剥离外观进行样式设置.

所以如果我有这个table-stripped包含的HTML :

<table class="table table-bordered table-striped table-condensed table-hover" id="table2">
    <thead>
        <tr>
            <th>Heading A</th>
            <th>Heading B</th>
            <th>Heading C</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后我运行这个JavaScript代码:

for (var i = 0; i < 5; i++)
{ 
    $('#table2 > tbody:last').before('<tr><td>' + i +'</td><td>b</td><td>c</td>');
}
Run Code Online (Sandbox Code Playgroud)

我将获得我的5个新行,但它们不会table-stripped应用样式.

即使我在使用它创建后手动添加类也没有区别.

$('#table2').addClass('table-hover'); 
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个jsFiddle示例,因此您可以看到它正在运行.

jquery twitter-bootstrap

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

ASP.NET MVC 4 - 2个带有分段的区域,1个没有分区的区域

我刚刚创建了一个全新的ASP.NET MVC 4解决方案并添加了3个区域,并希望它们按照指示进行路由:

1. General         -> http://www.mysite.com/
2. Members         -> http://www.mysite.com/members/
3. Administration  -> http://www.mysite.com/administration/
Run Code Online (Sandbox Code Playgroud)

我可以配置路由,以便"常规"区域在它是第一个段时起作用,但是当我不希望"常规"在URL中显示为段时,似乎无法让我的路由在所有3个区域中工作.正如您所看到的,我的目标是建立一个干净的URL结构.

我计划在每个区域下添加一些控制器/视图,并希望维护这个区域组织.

我已经看到了类似的MVC 2问题,但我不确定区域注册的顺序是否会纠正我的特定问题.

asp.net-mvc asp.net-mvc-routing asp.net-mvc-areas asp.net-mvc-4

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

使用包含检索实体的通用存储库和实体框架逻辑

我有两个Entity Framework 5 Get()方法,它们执行(i)单个实体获取ID,以及(ii)单个实体通过过滤器获得任何急切加载螺栓.请参阅下面的代码:

internal readonly FallenNovaContext Context;
private readonly DbSet<TEntity> _dbSet;

internal GenericRepository(FallenNovaContext context)
{
    Context = context;
    _dbSet = context.Set<TEntity>();
}

// (i) Get by ID.
public TEntity GetById(int id)
{
    return _dbSet.Find(id);
}

// (ii) Get by filter and optional eager loading includes.
public TEntity Get(
    Expression<Func<TEntity, bool>> filter = null,
    IEnumerable<string> includePaths = null)
{
    IQueryable<TEntity> query = _dbSet;

    if (filter != null)
    {
        query = query.Where(filter);
    }

    if (includePaths != …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-5

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

如何在Visual Studio中升级ReSharper?

我已经针对Visual Studio 2012安装了ReSharper 7,并且由于已购买了升级许可证,因此希望升级到版本8。

我该如何升级?

我必须先卸载然后重新安装,还是可以通过ReSharper选项在Visual Studio中应用我的许可证代码,它会自动处理更新?

resharper visual-studio

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

隐藏 Azure Blob 网址

我在公共 Azure blob 容器中存储了大量文件,所有这些文件都通过我的 ASP.NET MVC Web 应用程序中的 HTML 直接引用。作为示例,Blob 存储中的其中一张图像的路径如下所示:

//<my-storage-account-name>.blob.core.windows.net/public/logo.png
Run Code Online (Sandbox Code Playgroud)

我想避免在 HTML 源代码中显示我的存储帐户名称,而不是:

<img src="//<my-storage-account-name>.blob.core.windows.net/public/logo.png"/> 
Run Code Online (Sandbox Code Playgroud)

我更喜欢用这个:

<img src="/images/logo.png"/> 
Run Code Online (Sandbox Code Playgroud)

我想避免设置 MVC 路由并使用 blob API 将文件加载到响应流中,因此认为 web.config 解决方案可能是最简单的解决方案,即

<rule name="Image Redirect" stopProcessing="true">
    <match url="^images/(.*)$" ignoreCase="false" />
    <action type="Redirect" url="//<my-storage-account-name>.blob.core.windows.net/public/{R:1}" redirectType="Permanent" />
</rule>
Run Code Online (Sandbox Code Playgroud)

问题:考虑到任何页面一次可以加载 30 多个图像,这是最有效的方法吗?或者,尽管我担心性能提升,但我应该只使用公共 blob URL?

blob

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

需要一个接受实体ID和包含的通用EF方法

我正在使用Entity Framework 5并且有一个通用的存储库,其中有几个方法,如下面的两个Get()方法:

public TEntity GetById(int id)
{
    return DbSet.Find(id);
}

public TEntity Get(
    Expression<Func<TEntity, bool>> filter = null,
    IEnumerable<string> includePaths = null)
{
    IQueryable<TEntity> query = DbSet;

    if (filter != null)
    {
        query = query.Where(filter);
    }

    if (includePaths != null)
    {
        query = includePaths.Aggregate(query, (current, includePath) => current.Include(includePath));
    }

    return query.SingleOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

这些都非常有用,但是当我想要进行稍微复杂的GetById()调用并同时检索一些实体引用时,如下所示:

var user = _userRepository.GetById(
    id,
    new List<string> { "Roles", "Invoices" });
Run Code Online (Sandbox Code Playgroud)

我最终不得不为每个实体推出特定于实体的(非通用的)GetById(id,includes)调用,以便我可以访问lambda中的特定Id字段,即UserId或InvoiceId等.

public User GetById(
    int id,
    IEnumerable<string> includes)
{
    return Get(
        (u => u.UserId == …
Run Code Online (Sandbox Code Playgroud)

c# generics frameworks entity entity-framework

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

ColorBox分组照片

我使用颜色框,我有它工作正常,除了我不明白如何在单击时添加多个图像到库.

但我需要为每朵花出现2张图片.

谢谢你的帮助!

html javascript jquery colorbox

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