小编Bue*_*KoW的帖子

如何在DataRow上使用.ToDictionary()扩展方法

我需要一个Dictionary<string,object>从DataRow生成的.我目前有一些工作,但我做得太多而且没有使用.ToDictionary()扩展方法.

有人可以请教我如何成功完成这项工作吗?

这是我失败的尝试:

var dataDictionary = dataTable.Select(acn + "=" + accountNumber).ToDictionary(key => key.Table.Columns);
Run Code Online (Sandbox Code Playgroud)

这会返回一个KeyValuePair<DataColumnCollection, DataRow>,但同样,我需要一个Dictionary<string,object>

再次感谢您!

c# linq

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

如何查看特定列中是否存在多个具有相同值的行?

我正在寻找一种有效的方法来从我的SELECT语句中排除行,WHERE返回多行,并为某列提供相同的值.

具体来说,我正在选择一堆帐户,但需要排除在多个帐户中找到相同SSN的帐户.

sql sql-server

7
推荐指数
3
解决办法
5563
查看次数

无法将HttpPostedFileBase保存到会话变量并使用两次

早上好 - 我试图将HttpPostedFileBase(它总是一个简单的CSV文件)保存到会话变量,如下所示:

    [HttpPost]
    public ActionResult Index(HttpPostedFileBase importFile) {
        Session.Remove("NoteImport");
        var noteImport = new NoteImport { ImportFile = importFile, HeaderList = NoteService.HeaderList(importFile) };
        Session["NoteImport"] = noteImport;
        return RedirectToAction("FileNote");

    }
Run Code Online (Sandbox Code Playgroud)

如您所见,我将importFile转储到我的NoteImport类中.目前,ImportFile属性是可公开访问的HttpPostedFileBase类型.

我第一次在我的服务中使用此属性(创建标题值列表的方法),我没有问题:

    public List<string> HeaderList(HttpPostedFileBase fileStream) {
        var sr = new StreamReader(fileStream.InputStream);
        var headerString = sr.ReadLine();
        var headerArray = headerString.Split(',');
        var headerList = new List<string>();
        foreach (var header in headerArray) {
            if (!ValidateHeader(header))
                throw new InvalidDataException("Invalid header name: " + header);
            headerList.Add(header);
        }
        return headerList;
    }
Run Code Online (Sandbox Code Playgroud)

以上工作正常,并返回我目前所需要的.

我的问题是下面的代码.当我调用ReadLine()时,它不会从HttpPostedFileBase中获取任何内容.

    public List<string> ImportFileStream(HttpPostedFileBase …
Run Code Online (Sandbox Code Playgroud)

c# inputstream httppostedfilebase asp.net-mvc-2

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

用于.NET的HTML到PDF转换器

我正在寻找一个免费的HTML到PDF转换器,它最好采用HTML页面并将其呈现为PDF文档.

HTML页面(打印时)通常不止一页.我知道ABCPDF,但从快速概述,它似乎只是想转换单页HTML并且不能很好地处理多个页面.我可能不知道它的能力,因为我还没有对ABCPDF进行过多的研究.我轻轻使用的另一个是iText,但对于我需要的应用程序来说,这似乎变得非常复杂.

如果您有任何建议,请告诉我.如果您知道每个许可证的成本,但确实是我需要的,请告诉我.

谢谢!

.net c# pdf pdf-generation

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

如果ModelState中不存在某个键,我该如何添加它?aspnetmvc1

我试图在我的控制器中创建一个解决方法来处理ASP.NET MVC v1中的错误.如果您发布未选择任何内容的列表框(http://forums.asp.net/p/1384796/2940954.aspx),则会出现此错误.

快速说明:我有一个报表,它接受来自文本框的两个日期和一个ListBox中的一个或多个选项.除了验证列表框没有选中任何内容之外,一切都有效.

当表单发布并到达我的控制器时,该模型包含所有必需的项目.但是,ModelState不包含列表框的键/值.为了解决这个问题,我希望这样的事情可以解决问题:

if (!ModelState.ContainsKey("TurnTimeReportModel.Criteria.SelectedQueuesList") || ModelState["TurnTimeReportModel.Criteria.SelectedQueuesList"] == null) {
            ModelState.Keys.Add("TurnTimeReportModel.Criteria.SelectedQueuesList");
            ModelState["TurnTimeReportModel.Criteria.SelectedQueuesList"].Equals(new List<string>());
        }
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试添加密钥时,会抛出以下异常:System.NotSupportedException:不允许变换 从字典派生的密钥集合.

有任何想法吗?

提前致谢!

asp.net-mvc modelstate

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

如何使用FluentMigrator设置ROWVERSION/TIMESTAMP数据类型列?

我试图在SQL Server表上使用ROWVERSION(或TIMESTAMP)数据类型进行乐观并发控制.

我的表是使用FluentMigrator设置的,我不知道如何获得我需要的数据类型.根据微软的文章ROWVERSION,非可ROWVERSION列在语义上等同于二进制(8)列; 的可为空的ROWVERSION数据类型是相当于一个VARBINARY(8) .

这是一个例子,尽可能接近......

public override void Up()
    {
        Create.Table("Test")
            .WithColumn("Id").AsInt32().Identity().PrimaryKey()
            .WithColumn("Description").AsAnsiString(255)
            .WithColumn("RowVersion").AsBinary(8).NotNullable(); 
    }
Run Code Online (Sandbox Code Playgroud)

.WithColumn("RowVersion").AsBinary(8).NotNullable();是我无法弄清楚的线......没有.AsRowversion.AsTimestamp选择.

提前致谢!

.net sql nhibernate fluent-nhibernate fluent-migrator

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

SQL检查多列的约束

我是新手SQL CHECK CONSTRAINT,需要一些东西来验证我的表中三列的组合与另一行的列不匹配.

我有一个Report表,包括我需要检查的三列:NAME,CREATEDBY和TYPE.不能创建具有这三个值相同的行的多个.

请帮忙!

CREATE TABLE Report(
    ReportID    INT             IDENTITY(1,1) NOT NULL,
    [Name]      VARCHAR(255)    NOT NULL,
    CreatedBy   VARCHAR(50)     NOT NULL,
    [Type]      VARCHAR(50)     NOT NULL,
    PageSize    INT             NOT NULL DEFAULT 25,
    Criteria    XML             NOT NULL
    CONSTRAINT CHK_Name_CreatedBy_Type CHECK ([Name], CreatedBy, [Type])
)

ALTER TABLE Report
    ADD CONSTRAINT PK_Report PRIMARY KEY (ReportID)
Run Code Online (Sandbox Code Playgroud)

显然,约束目前没有意义,因为它没有提供布尔值...

CONSTRAINT CHK_Name_CreatedBy_Type CHECK ([Name], CreatedBy, [Type])
Run Code Online (Sandbox Code Playgroud)

提前致谢!!

sql sql-server

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

需要正则表达式模式:无法启动w num; 除下划线和连字符外没有特殊字符; 允许字符/ nums

最近我得到了: ^[-_[a-zA-Z0-9]*$

这仍然允许字符串以数字开头.当到处都有资源时,可以问这样的问题.我只是需要一些快速的东西,并且在查找RegEx时遇到问题.

有效输入示例: Account-Numbers_2010 | NewMoney | test_data | a1B2-c3_d4_5e-6f

输入示例无效: 2010_Account_Numbers | New$Money | %test*data | 1aB2

regex

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

如何循环SQL参数列表和WHERE子句?或者更有效地获得结果?

什么是最好的方法?我有一个C#.NET Web Forms网站,它根据一个或多个标签收集用户配置文件列表.该站点连接到SQL数据库,并使用存储过程进行大多数数据检索.

我的第一个(半延迟)思想是建立一个参数列表:tag1,tag2,tagN.将该列表传递给SP.在SP中,通过循环参数来构建WHERE子句.

在我甚至可以执行WHERE循环之前,如何在SQL中构建我的参数?

如果我可以通过SP一个数组或列表然后分开并构建我的查询,那将是很好的.但是,我不知道该怎么做 - 如果我这样做,我怀疑效率是否可取.

我可以使用CommandType.Text并在代码中吐出一个巨大的查询.这听起来也不是很有效.我想保持SQL/C#内容尽可能分开.这个网站已经是一团糟......

你们有没有想过这个?

.net c# sql sql-server ado.net

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

尝试NHibernate事务时捕获SqlException

我需要看到一个错误代码SqlException- 但是,我无法启动它.我使用NHibernate并SQL UNIQUE CONSTRAINT在我的桌子上进行设置.当违反该约束时,我需要捕获错误代码并基于此产生用户友好的消息.这是我的try/catch示例:

using (var txn = NHibernateSession.Current.BeginTransaction()) {
    try {
        Session["Report"] = report;
        _reportRepository.SaveOrUpdate(report);
        txn.Commit();
        Fetch(null, report.ReportId, string.Empty);
    } catch (SqlException sqlE) {
        var test = sqlE.ErrorCode;
        ModelState.AddModelError("name", Constants.ErrorMessages.InvalidReportName);
        return Fetch(report, report.ReportId, true.ToString());
    } catch (InvalidStateException ex) {
        txn.Rollback();
        ModelState.AddModelErrorsFrom(ex, "report.");
    } catch (Exception e) {
        txn.Rollback();
        ModelState.AddModelError(String.Empty, Constants.ErrorMessages.GeneralSaving);
    }
}
Run Code Online (Sandbox Code Playgroud)

请原谅我的无知.

c# asp.net nhibernate asp.net-mvc exception

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