小编Xai*_*oft的帖子

帮助理解索引上的多个列?

假设我有一个名为"table"的表,我有3列,a,b和c.

列a,b上有非聚集索引是什么意思?

列a,b上的非聚簇索引与列b上的非聚簇索引相同,是吗?(注意顺序).

另外,列a上的非聚簇索引是否与a上的非聚簇索引相同?

我正在查看网站的sqlserver性能,他们有这些dmv脚本,它会告诉你,如果你有重叠索引,我相信它是说a上的索引与a,b相同,所以它是多余的.对于索引这是真的吗?

最后一个问题是为什么聚集索引放在主键上.大多数情况下,不会查询主键,因此聚集索引不应位于查询最多的列上.我可能在这里遗漏了一些东西,比如在主键上加速连接?

很棒的解释.我应该将其转换为维基并更改标题索引说明吗?

t-sql sql-server indexing

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

如果数据库中的列发生变化,有没有办法不破解代码?

假设我有一个声明的数据表,并且我已经分配了一个从调用存储过程返回的结果,所以现在,我的数据表在从中访问行时包含类似下面的内容:

string name = dr["firstname"];
int age = (int)dr["age"];
Run Code Online (Sandbox Code Playgroud)

如果firstname更改为first_name并且删除了age,则代码显然会中断,因为现在架构已损坏,所以有没有办法在不手动执行的情况下始终使架构与代码保持同步?是否有某种元描述文件描述数据库表中的列并相应地更新它们?这是LINQ因其强烈的类型特性而有用的情况吗?

c#

5
推荐指数
2
解决办法
276
查看次数

我可以在UriTemplate中使用对象吗?

我尝试了以下代码:

 [OperationContract]
 [WebInvoke(UriTemplate="/Users/Register/{user}")]
 void Register(User user);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,它告诉我UriTemplate必须只包含字符串.如果我需要将一个对象传递给我的方法,如本例所示,我的Register方法的User对象.

如果我将WebInvoke属性更改为:

[WebInvoke(UriTemplate="/Users/Register/")]
Run Code Online (Sandbox Code Playgroud)

该browswer显示错误Method not allow,当我尝试浏览到HTTP://本地主机:8000 /用户/注册例如

c# rest wcf

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

从Apache服务器托管WCF服务?

是否可以在Apache中托管WCF服务?

有什么要求以及如何做?

apache wcf

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

SQL Server 2008:确保已将IncludeMetadataConvention添加到DbModelBuilder约定中

我得到的完整错误是这样的:

无法检查模型兼容性,因为数据库不包含模型元数据.确保已将IncludeMetadataConvention添加到DbModelBuilder约定中.

我曾经尝试使用SQL Server Compact,它工作正常,但托管服务提供商只支持专用服务器的CE,我在共享计划,所以我使用的是SQL Server 2008.我在db中的连接字符串如下格式:

  <connectionStrings>
    <add name="DBContext"
         connectionString="Data Source=1.1.1.1;Initial Catalog=dbname;User Id=user;Password=pass;"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我还有一个在Application_Startup中运行的DatabaseInitializer.如果需要任何进一步的代码,请告诉我?我也没有创建edmx数据模型,我使用的是EF Code First.

我更改了初始化程序代码始终删除数据库,但现在我收到错误,数据库'master'中的CREATE DATABASE权限被拒绝.当我告诉初始目录使用时,我不知道为什么会得到这个.

我现在将null传递给SetInitializer,但现在我收到以下错误:

无法打开登录请求的数据库"dbname".登录失败.用户'user'登录失败.

我仍在使用上面的连接字符串.

c# entity-framework ef-code-first asp.net-mvc-3

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

是在视图中引用脚本库并使用_Layout.cshtml冗余?

我有一个使用_Layout.cshtml的视图,你告诉视图参考脚本库,这是多余的,因为你将引用_Layout.cshtml中的脚本库,或者我在这里遗漏了一些东西.在我从Microsoft完成的所有MVC教程中,他们总是选中参考脚本库.

asp.net-mvc asp.net-mvc-3

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

同时分配并检查空值?

我有以下场景:

if(xml.Descendants(ns + "Children").FirstOrDefault() != null)
{
    XElement children = xml.Descendants(ns + "Children").FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以检查null并同时分配值,而不必搜索两次值,类似于:

//Not sure if this is correct.
if (XElement children = xml.Descendants(ns + "Children").FirstOrDefault() != null)
{

}
Run Code Online (Sandbox Code Playgroud)

c#

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

请求已中止:连接意外关闭

我在这里使用Jon Skeet的ReadFully方法:

public static byte[] ReadFully(Stream stream)
{
    var buffer = new byte[32768];
    using (var ms = new MemoryStream())
    {
        while (true)
        {
            int read = stream.Read(buffer, 0, buffer.Length);
            if (read <= 0)
                return ms.ToArray();
            ms.Write(buffer, 0, read);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它在该行引发异常:

int read = stream.Read(buffer, 0, buffer.Length);
Run Code Online (Sandbox Code Playgroud)

错误消息是The request was aborted: The connection was closed unexpectedly.

我正在向web服务发送xml请求.我的send方法如下所示:

private static string SendRequest(XElement request, string url)
{
    var req = (HttpWebRequest)WebRequest.Create(url);
    req.ContentType = "application/soap+xml;";
    req.Method = "POST";
    req.KeepAlive = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net web-services httpwebrequest

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

MEF可以导出/导入静态类吗?

有可能做这样的事情:

[Export(typeof(Settings)]
public static class Settings
{
   public string Name {get;set;}
   public string Color {get;set;}
}

[Import(typeof(Settings)]
Settings s;
Run Code Online (Sandbox Code Playgroud)

c# mef .net-4.0

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

无法将lambda表达式转换为类型"object",因为它不是带有int的委托类型

我有一份病人名单.Patient类的一个属性是PatientId,它是一个int.我的列表初始化如下:

List<Patient> = new List<Patient>() { new Patient { PatientId = 1, 
                                                    FirstName = "Jane", 
                                                    LastName = "Doe"}};
Run Code Online (Sandbox Code Playgroud)

当我在视图中访问PatientId时,例如:

@Html.DisplayForModel(modelItem => modelItem.PatientId) //Error
Run Code Online (Sandbox Code Playgroud)

我收到一个错误: Cannot convert lambda expression to type 'object' because it is not a delegate type

c# asp.net-mvc-4

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