小编Kue*_*per的帖子

反射 - 考虑数据类型设置对象属性

我已经发现可以使用反射设置属性的值:使用反射设置对象属性

但我的问题是我的数据只存在于字符串中.因此,当然我总是得到一个例外,因为它不是正确的类型.

有没有办法自动尝试将字符串解析为相应的类型(DateTime,int,decimal,float)?

以下是我正在使用的代码:

Type myType = obj.GetType();
PropertyInfo[] props = myType.GetProperties();

foreach (PropertyInfo prop in props)
{
   setProperty(obj, prop, data[prop.Name]);
}
Run Code Online (Sandbox Code Playgroud)

data是一个简单的关联数组,包含数据为字符串.这些数据应该被映射到obj.

.net c# reflection

8
推荐指数
2
解决办法
6864
查看次数

show和list函数之间的区别

节目和列表功能之间的区别是什么?它们的目的是什么?

我正在研究CouchDB,并为CouchDB阅读大量不同的教程,但这个问题从未得到过仔细解释.(至少我没找到)

couchdb couchapp

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

没有临时文件的OpenXML文件下载

有没有办法在ASP.Net页面中为新生成的OpenXML(docx)文件提供下载而不将其保存在临时文件夹中?

MSDN上,我只找到了使用临时文件的教程,但我想过使用WordprocessingDocument.MainDocumentPart.GetStream()并直接写出流.

c# asp.net openxml openxml-sdk

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

为什么我的实体框架查询单慢?

我有一个非常简单的查询非常慢.Entity Framework Profiler表示大约需要100毫秒.

dbContext.Users.Single(u => u.Id == userId);
Run Code Online (Sandbox Code Playgroud)

尝试了一下后,我发现了一个非常相似但速度更快的查询(大约3毫秒).

dbContext.Users.Where(u => u.Id == userId).ToList().Single();
Run Code Online (Sandbox Code Playgroud)

当我比较两个查询的sql时,第二个查询不使用嵌套的SELECT而不使用TOP操作.但是我不希望它因为这两件事而快30倍.此外,使用SQL Server Management Studio执行查询时,没有可测量的差异.

当我查看执行计划时,他们都会创建一个具有100%查询成本的聚簇索引查找.而附加select和Top操作的查询成本为0%.来自EFProfiler的查询计划表明它不应该有任何区别.

在这种情况下,我该怎么做才能更好地理解查询性能?

下面是第一个查询的结果SQL.

SELECT [Limit1].[Id]                     AS [Id],
   [Limit1].[EmailAddress]           AS [EmailAddress],
   [Limit1].[FirstName]              AS [FirstName],
   [Limit1].[LastName]               AS [LastName]
FROM   (SELECT TOP (2) [Extent1].[Id]                     AS [Id],
                   [Extent1].[EmailAddress]           AS [EmailAddress],
                   [Extent1].[FirstName]              AS [FirstName],
                   [Extent1].[LastName]               AS [LastName]
    FROM   [dbo].[Users] AS [Extent1]
    WHERE  ([Extent1].[Id] = 'b5604f88-3e18-42a5-a45e-c66cc2a632d3' /* @p__linq__0 */)
           AND ('b5604f88-3e18-42a5-a45e-c66cc2a632d3' /* @p__linq__0 */ IS NOT NULL))    AS [Limit1]
Run Code Online (Sandbox Code Playgroud)

这里是第二个(更快)查询的sql.

SELECT [Extent1].[Id]                     AS [Id],
   [Extent1].[EmailAddress]           AS [EmailAddress],
   [Extent1].[FirstName] …
Run Code Online (Sandbox Code Playgroud)

sql sql-server performance entity-framework database-performance

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

获取附件的URL

我正在使用CouchApp构建一个简单的Web应用程序,允许上传和管理图片.实际图像文件存储为doc的附件,如下所示.

{
  "_id":"09fe82d75a26f9aa5e722d6b220180d2",
  "_rev":"2-5797b822c83b9d41545139caa592f611",
  "data":"some additional fields with info about the image",
  "_attachments":
  {
    "foo.jpg":
    {
      "stub":true,
      "content_type":"image/jpeg",
      "length":23721
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是为了在html中集成图像,我需要附件的URL.我怎么得到这个网址?

我正在使用evently和mustache来生成网页.下面是用于读取数据的data.js:

function(data) {
  return {
    items : data.rows.map(function(r) {
      return {
        id : r.value._id,
        rev : r.value._rev,
        title : r.value.description,
        url : "how am i supposed to do this?"
      };
    })
  };
};
Run Code Online (Sandbox Code Playgroud)

couchdb couchapp

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

读取未知属性的名称

我有一个简单的javascript对象,其中包含一些包含值的未知属性.问题是我不知道该字段的名称,因为它是可变的.我怎样才能访问这个未知的属性?

为了更好地理解,我有一个简单的对象如下:

var a = { cat : "meow", dog : "woof"};
Run Code Online (Sandbox Code Playgroud)

我需要读取不同属性的名称和值.我在考虑以下内容:a.getField(0).name.

javascript jquery

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

如何将Qunit与ReSharper 6.1结合使用

ReSharper 6.1支持使用QUnit进行单元测试Javascript代码.我唯一想知道如何最好地设置我的测试环境.现在我已经拥有了所有的JS文件\Scripts和相应的filename-test.js \Scripts\tests.是否也可以将测试文件放在专用的测试项目中?

另外我不知道在哪里放我的html片段.对我来说,看起来ReSharper不支持其他html文件,但使用jQuery创建html是一个痛苦的屁股.

resharper unit-testing qunit resharper-6.1

5
推荐指数
0
解决办法
2347
查看次数

是否有jquery.couch.js的文档?

是否有jquery.couch.js的文档,这是CouchDB附带的标准JavaScript API?

在许多博客文章和教程中,使用了这个API,并在某种程度上解释了如何使用它.但是,是否有一些总是最新的文档?

documentation couchdb couchapp

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

Html敏捷包搞乱了我的javascript

我正在使用Html Agility Pack在我的文档头部输出一些javascript.但在将文档保存到文件系统后,我发现javascript源已被修改.我想这是因为HAP正在尝试验证我的脚本.有可能阻止这种情况吗?如下所示,我已尝试设置不同的选项.

我的代码使用HAP:

var htmlDoc = new HtmlDocument();
htmlDoc.OptionCheckSyntax = false;
htmlDoc.OptionAutoCloseOnEnd = false;
htmlDoc.OptionFixNestedTags = false;
htmlDoc.LoadHtml(htmlContent);

HtmlNode headNode = htmlDoc.DocumentNode.SelectSingleNode("//head");
headNode.AddScriptNode(htmlDoc, "../../Scripts/jquery-1.7.1.min.js");
Run Code Online (Sandbox Code Playgroud)

用于添加脚本标记的扩展方法

public static void AddScriptNode(this HtmlNode headNode, HtmlDocument htmlDoc, string filePath)
{
    string content = "";

    using (StreamReader rdr = File.OpenText(filePath))
    {
        content = rdr.ReadToEnd();
    }
    if(headNode != null)
    {
        HtmlNode scripts = htmlDoc.CreateElement("script");
        scripts.Attributes.Add("type", "text/javascript");
        scripts.InnerHtml = "\n" + content + "\n";
        headNode.AppendChild(scripts);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript html-agility-pack

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

NHibernate映射文件中的hbm代表什么?

使用NHibernate时,您需要提供一些名称为.hbm.xml的映射文件,这些映射文件用于定义从POCO到数据库的映射.但是什么是hbm代表什么?它是某种东西的缩写还是纯粹的机会创造的?

nhibernate

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

如何手动卸载jQuery库?

如何手动卸载jQuery库以便再次释放使用过的内存?

实际问题是我在iframe中加载jquery,在更改源代码后,将jquery保留在内存中并且不再释放它.(有关更多背景信息,请参阅 使用jquery增加内存使用量)

memory jquery

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