小编Mar*_*als的帖子

为什么SQL Server不使用我的索引?

在我们的数据库中,我们有200.000行的这个表

CREATE TABLE dbo.UserTask (
    UserTask_ID int NOT NULL IDENTITY (1, 1),
    UserTask_SequenceNumber int NOT NULL DEFAULT 0,
    UserTask_IdEntitat uniqueidentifier NOT NULL,
    UserTask_Subject varchar(100) NOT NULL,
    UserTask_Description varchar(500) NOT NULL,
            .....
            .....
    CONSTRAINT [PK_UserTask] PRIMARY KEY CLUSTERED 
    (
        [UserTask_ID] ASC
    ) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

我在UserTask_IdEntitat列上创建了一个索引

CREATE NONCLUSTERED INDEX IX_UserTask_IDEntitat ON dbo.UserTask 
(
    UserTask_IDEntitat
)
Run Code Online (Sandbox Code Playgroud)

执行以下查询,执行计划向我们显示索引on UserTask_IDEntitat用于执行查询:

SELECT UserTask_ID
  FROM UserTask   
 WHERE UserTask_IdEntitat = @IdEntitat 
 ORDER BY UserTask_LastSendSystemDateTime desc
Run Code Online (Sandbox Code Playgroud)

但是如果我们在Select列表中添加另一列,则不使用索引

SELECT UserTask_ID, UserTask_SequenceNumber, UserTask_IDEntitat, …
Run Code Online (Sandbox Code Playgroud)

sql-server indexing

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

实体框架6支持SQL Server 2000?

有人知道EF 6中是否支持SQL Server 2000 for Code First?在官方网站上,我没有找到任何关于EF 6支持哪些SQL Server版本的信息.在一些博客中我发现SQL Server 2000不受支持,但这些博客并非官方消息来源.看看EF 6的源代码,似乎支持我发现了一些SQL Server 2000注意事项的代码.

例如:

SqlVersion 是一个带有SQL Server版本枚举的类,SQL Server 2000就在这个枚举中.

https://entityframework.codeplex.com/SourceControl/latest#src/EntityFramework.SqlServer/SqlVersion.cs

// <summary>
// This enumeration describes the current SQL Server version.
// </summary>
internal enum SqlVersion
{
    // <summary>
    // SQL Server 8 (2000).
    // </summary>
    Sql8 = 80,

    // <summary>
    // SQL Server 9 (2005).
    // </summary>
    Sql9 = 90,
    .....
Run Code Online (Sandbox Code Playgroud)

TopClause是生成select TOP子句的类,在该方法的这个类中WriteSql,为SQL Server 2000生成特殊的SQL语法.

https://entityframework.codeplex.com/SourceControl/latest#src/EntityFramework.SqlServer/SqlGen/TopClause.cs

    public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator)
    {
        writer.Write("TOP …
Run Code Online (Sandbox Code Playgroud)

entity-framework sql-server-2000

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

Asp.net MVC设置验证日期格式在Chrome上失败

我在asp.net mvc中设置验证日期格式Chrome时遇到问题,对于IE等其他浏览器,Firefox工作正常.

我在我的模型中定义了日期,如下一个代码:

[Required]
[Display(Name = "Data fi publicació")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime PublishingEndDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

在我看来:

@Html.TextBoxFor(model => model.PublishingEndDate)
@Html.ValidationMessageFor(model => model.PublishingEndDate)
Run Code Online (Sandbox Code Playgroud)

问题看来,@Html.ValidationMessageFor用格式验证日期MM/dd/yyyy,但我想要的是用欧洲格式验证dd/MM/yyyy.如何将默认文化验证格式日期更改为dd/MM/yyyy

谢谢你的帮助

asp.net-mvc

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

IIS 7将SSL添加到一个站点,所有其他站点响应https请求

我的IIS上运行了多个站点,现在我们需要支持ssl请求的其中一个站点(SiteB).我已经启用它为网站编辑绑定,但问题是当我选择协议SSL编辑绑定HostName字段被禁用,无法设置主机名以响应https请求时,这会导致我的IIS的所有站点都被请求使用https ://加载siteB的网站.

例如,我的出价是下一个

Site A

 IP  Port HostName
 *     80 www.sitea.com

Site B
 IP Port Hostname
 *   443 www.siteb.com
 *    80 www.siteb.com
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中键入https://www.siteb.com,它可以正常工作,但如果我在浏览器中键入https://www.sitea.com,则会在siteb网页中加载sitea的主机名.

我怎样才能使https://www.siteb.com响应我的IIS上的https请求?

我也尝试过命令appcmd但它不起作用.

appcmd set site /site.name:{sitB} /bindings.[protocol='https',bindingInformation='*:443:*'].bindingInformation:*:443:siteB.com 
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

iis-7

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

linq to Entities中where子句中的扩展方法

在linq to Entities中,我们需要一个类似"sql like"的方法.我们已经为IQueryable实现了我们自己的扩展方法,因为包含的方法对我们不起作用,因为它不接受像'%a%b%'这样的模式

创建的代码是:

private const char WildcardCharacter = '%';

public static IQueryable<TSource> WhereLike<TSource>(this IQueryable<TSource> _source, Expression<Func<TSource, string>> _valueSelector, string _textSearch)
{
    if (_valueSelector == null)
    {
        throw new ArgumentNullException("valueSelector");
    }

        return _source.Where(BuildLikeExpressionWithWildcards(_valueSelector, _textSearch));
}

private static Expression<Func<TSource, bool>> BuildLikeExpressionWithWildcards<TSource>(Expression<Func<TSource, string>> _valueSelector, string _textToSearch)
{
    var method = GetPatIndexMethod();

    var body = Expression.Call(method, Expression.Constant(WildcardCharacter + _textToSearch + WildcardCharacter), _valueSelector.Body);

    var parameter = _valueSelector.Parameters.Single();
    UnaryExpression expressionConvert = Expression.Convert(Expression.Constant(0), typeof(int?));
    return Expression.Lambda<Func<TSource, bool>> (Expression.GreaterThan(body, expressionConvert), parameter);
}

private static MethodInfo GetPatIndexMethod() …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-entities entity-framework

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

应用网关受IP限制

我们有一个 azure 的 VM 集群,暴露了一些内部 API。为了更安全,我们使用应用程序网关来卸载 ssl。但我们也想限制可以访问此 API 的外部 IP。有没有办法只允许一定范围的 IP 通过应用程序网关连接?

谢谢。

azure azure-application-gateway

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

正确使用ProjecKey,ProjectName和Branch

我不确定我是否正确理解了在声纳扫描分析中使用参数ProjectKey,ProjectName和branch.

假设我有一个带有差异分支的项目.当我独立于分支运行分析时,ProjectName和ProjectKey参数的值必须始终相同?

或者每个分支分析必须有不同的项目密钥?在这种情况下,最佳做法是什么?

sonar-runner sonarqube

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

设置默认时区以用于 android 应用程序

我正在为 android 开发一个应用程序,它必须列出活动及其日期和时间。我想忽略设备的时区并始终显示时区 +02:00 中的时间。

该应用程序适用于西班牙,但如果来自位于另一个时区的英国人使用该应用程序,我希望活动时间以当地西班牙时间显示。

日期为UTC格式,使用Calendar.getTime().toLocaleString(),时间在设备本地时区。

我想知道这是否是一种设置必须使用我的应用程序的默认时区的方法,并且当我调用 Calendar.getTime().toLocaleString() 方法时,尽管设备时区

android

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

EF 6 Codefirst-使用Fluent API为基类中定义的属性设置默认值

我有一个具有审计属性的基类,例如

public abstract class BaseModel
{
    [Column(Order = 1)] 
    public long Id { get; set; }
    public long CreatedBy { get; set; }
    public DateTime CreatedDate { get; set; }
    public long ModifiedBy { get; set; }
    public DateTime ModifiedDate { get; set; }
    public bool IsActive { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我所有的poco课程都来自于该课程。

我试图将默认值设置为IsActive属性。我不热衷于使用批注,因此如果我能使用流利的API来解决这个问题,我会一直徘徊。

我试过了,但是没有用。好像它创建了一个名为BaseModel的新表

modelBuilder.Entity<BaseModel>()
    .Property(p => p.IsActive)
    .HasColumnAnnotation("DefaultValue", true);
Run Code Online (Sandbox Code Playgroud)

有人可以在这里建议一种方法吗?

entity-framework entity-framework-6 ef-fluent-api

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