Tag: c# 4.0

如何在c#中将多个DataTable存储到单个DataSet中?

我有下面的代码,其中包含多个带有结果的DataTables,我需要传递一个包含所有DataTable值的DataSet。 MySqlCommand cmd = new MySqlCommand(getLikeInfo, con); MySqlDataAdapter da = new MySqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); MySqlCommand cmd1 = new MySqlCommand(getKnowInfo, con); MySqlDataAdapter da1 = new MySqlDataAdapter(cmd1); DataTable dt1 = new DataTable(); da1.Fill(dt1); MySqlCommand cmd2 = new MySqlCommand(getHotelInfo, con); MySqlDataAdapter da2 = new MySqlDataAdapter(cmd2); DataTable dt2 = new DataTable(); da2.Fill(dt2); MySqlCommand cmd3 = […]

比较可以为空的DateTime?

寻找更好的方法来比较可以为空的日期时间而不是以下: 有什么建议? // myobject.ExpireDatetime is of DateTime? // if (!myobject.ExpireDateTime.IsNull() && DateTime.Compare((DateTime)myobject.ExpireDateTime, DateTime.Now.ToUniversalTime()) < 0) { //error! } 编辑:很抱歉混淆… myobject.ExpireDatetime是DateTime类型。

如何使用reflection查找数据注释属性及其参数

我有一些数据注释属性,如下所示: [StringLength(20, MinimumLength = 5, ErrorMessage = “First name must be between 5 and 20 characters”)] 如何使用reflection查找数据注释属性及其参数? 谢谢

缺少.NET 4.0的引用程序集文件夹

似乎从.NET 3.0开始,Microsoft将一些常见程序集移动到 C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx 为了支持他们分拆CLR 2.0和CLR 4.0 GAC的努力(也增加了 C:\%windir%\Microsoft.NET\assembly )。 然而,虽然我有两个 C:\Program Files\Reference Assemblies\Microsoft\Framework\xxx 和 C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 在我的开发机器上,后者在我刚刚安装.NET 4.0的服务器上不存在。 正在部署的WCF项目引用了此文件夹中的一些常见DLL,但无法找到它们。 我究竟做错了什么? 我应该明确地将这些引用更改为新的4.0 GAC吗? 为什么服务器上不存在此文件夹?

如何在没有抛出exception的情况下取消等待超时的任务

使用取消令牌取消具有超时(在超时结束之前)的任务时,将引发exception。 例: mytask.start(); bool didTaskRunInTime = mytask.wait(5 mins, _cancelToken); 这意味着我不能继续下面。 //was the task cancelled if (_cancelToken.IsCancelRequested) { // log cancel from user to file etc } if (didTaskRunInTime ) { int taskResult = myTask.Result; // log result to file } else if (!_cancelToken.IsCancelRequested) { // Tell user task timed out , log a message etc […]

动态包含在查询中急切加载的语句 – EF 4.3.1

我有这个方法: public CampaignCreative GetCampaignCreativeById(int id) { using (var db = GetContext()) { return db.CampaignCreatives .Include(“Placement”) .Include(“CreativeType”) .Include(“Campaign”) .Include(“Campaign.Handshake”) .Include(“Campaign.Handshake.Agency”) .Include(“Campaign.Product”) .AsNoTracking() .Where(x => x.Id.Equals(id)).FirstOrDefault(); } } 我想列出包含动态的列表。 我试过了: public CampaignCreative GetCampaignCreativeById(int id, string[] includes) { using (var db = GetContext()) { var query = db.CampaignCreatives; foreach (string include in includes) { query = query.Include(include); } […]

在方法中使用多个参数时,WCF服务代理会引发exception

我有一个WebServiceHost,用于在控制台应用程序中托管一些Web服务。 我在我的客户端应用程序中添加了一个服务引用并创建代理,如下所示: var binding = new WebHttpBinding(); var endPoint = new EndpointAddress(string.Format(Settings.serviceBase, Settings.wcfPort)); ChannelFactory factory = new ChannelFactory(new WebHttpBinding(), endPoint); factory.Endpoint.Behaviors.Add(new WebHttpBehavior()); // **Exception occurs here** var proxy = (IzWaveSVC)factory.CreateChannel(); 它可以工作,但是一旦我添加了一个需要多个参数的新方法,我就会在创建代理时开始获取此exception(这是在任何通信发生之前): Operation ‘setDeviceState’ of contract ‘IzWaveSVC’ specifies multiple request body parameters to be serialized without any wrapper elements. At most one body parameter can be […]

在C#中向字符串添加整数

最近我被告知可以将整数(和其他类型)连接到字符串,反之亦然,即 // x == “1234” // y == “7890” string x = “123” + 4; string y = 7 + “890”; 出于某种原因,我不认为这种事情是允许的,所以我一直在使用(从.NET 2开始)forms: // x == “1234” // y == “7890” string x = “123” + 4.ToString(); string y = 7.ToString() + “890”; 整数转换为字符串的位置。 以前的版本是否始终可用,我错过了它,或者它是C#4的新东西(我现在正在使用它)?

Request.Querystring自动url解码一个字符串?

我正在使用我有一个url的页面: /目录/公司/制造商 使用一些重写规则,这将被重写 使用/ directory / company / dunkin%26donuts /进行测试 一些制造商的名字中有一个&符号。 所以我想我可以用%26替换&符号。 但是,当我调试代码并将鼠标hover在Request.QueryString它显示我{qq=company&manf=dunkin&donuts&cond=}而Request.QueryString[“manf”]给了我’dunkin’ 如果我使用%24 ($)而不是&符号,将{qs=company&manf=dunkin%24donuts&cond=}hover在Request.QueryString会给我{qs=company&manf=dunkin%24donuts&cond=}而Request.QueryString[“manf”]会给我’dunkin $ donuts’ 我不明白这里的不同行为。 为什么在实际请求特定密钥之前,似乎&符号的url编码值会被解码,但是另一个url编码的字符,如美元符号,只有在您实际请求该特定密钥后才会被解码? 这是最近的变化吗? 我一直认为Request.QueryString[key]返回实际文本而不先解码它。 或者它与url重写有什么关系?

将’Set Next Statement’强制为’if’块时CLR System.NullReferenceException

背景 我接受这不是在正常的代码执行期间可能发生的事情,但我在调试时发现它并认为分享有趣。 我认为这是由JIT编译器引起的,但欢迎任何进一步的想法。 我使用VS2013复制了针对4.5和4.5.1框架的此问题: 建立 要查看此Common Language Runtime Exceptions必须启用Common Language Runtime Exceptions : DEBUG > Exceptions… 我已将问题的原因提炼到以下示例: using System.Collections.Generic; using System.Linq; namespace ConsoleApplication6 { public class Program { static void Main() { var myEnum = MyEnum.Good; var list = new List { new MyData{ Id = 1, Code = “1”}, new MyData{ Id = 2, […]