Tag: .net

OrderBy的正确行为

我遇到了令我困惑的事情,我希望看到你对此事的看法。 事实certificate,linq对sql和entity framework的威胁是连续的顺序。 以下代码仅用于示例,我并未声称它有任何意义: Linq to sql: DataClasses1DataContext db = new DataClasses1DataContext(); var result = (from c in db.Products orderby c.ProductName orderby c.UnitPrice orderby c.UnitsOnOrder select c).ToList(); 它在服务器端产生的是什么: SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued] FROM [dbo].[Products] AS [t0] ORDER BY [t0].[UnitsOnOrder], [t0].[UnitPrice], [t0].[ProductName] 与Entity Framework进行的相同测试会生成以下内容: SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[ProductName] […]

wpf InteropBitmap到位图

我有一个奇怪的问题。 我正在尝试检索已经加载到webbrowser控件中的图像。 以下代码在WinForms应用程序中正常工作: IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)__ie.NativeDocument.BODY).createControlRange(); foreach (IHTMLImgElement img in __ie.NativeDocument.Images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand(“Copy”, false, null); System.IO.MemoryStream stream = new System.IO.MemoryStream(); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp); var image = System.Drawing.Image.FromStream(stream); } } 但是,如果我在WPF应用程序中使用相同的代码会给出错误 using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject()……. 错误如下: “无法将’System.Windows.Interop.InteropBitmap’类型的对象强制转换为’System.Drawing.Bitmap’。” 我该如何解决这个问题? 请任何人都可以提供任何指导。 先感谢您。

什么是java的System.getProperty(“user.dir”)的.NET等价物?

我试图在我的unit testing中获取文件的完整路径,该文件位于我的项目中的文件夹中。 我试过用 Directory.GetCurrentDirectory(); 但是它会返回运行我的测试的目录。我想要项目(或解决方案)的目录,而不必在那里进行硬编码。 然后我可以追加文件名的最后一部分。 类似的东西 System.getProperty(“user.dir”) 在java中

MongoDB的push和root的C#等价物是什么?

我有一群人。 我试图为每个名字找到最老的人。 我可以使用mongoDB控制台命令实现该结果 db.People.aggregate([ { ‘$sort’: { ‘Name’: 1, ‘Age’: -1 } }, { ‘$group’: { ‘_id’: ‘$Name’, ‘docs’: { ‘$push’: ‘$$ROOT’ }, } }, { ‘$project’: { ‘top_one’: { ‘$slice’: [‘$docs’, 1] } } } ]) 对于C#驱动程序,这相当于什么? 我特别遇到麻烦 ‘docs’: { ‘$push’: ‘$$ROOT’ }, 这是我当前的C#查询: collection.Aggregate(aggArgs) .SortByDescending(x => x.Age) .Group(x => x.Name, x => new […]

使用Microsoft Jet OLEDB对CSV进行列限制

我正在从包含大约350列的CSV导入数据。 此CSV导入已修复,我完全无法控制它。 如果我尝试在Excel 2003中打开CSV,则由于列限制为255(IV),它仅部分加载。 当我使用OleDb和Microsoft.Jet.OLEDB.4.0将CSV加载到DataSet时,它也只显示255列。 更糟糕的是,当尝试访问这些255列中的某些列的数据时,它显示不正确的数据并且不断地分割这些值。 如果我在Excel中打开CSV,让它截断数据并重新保存,我的导入工作正常。 我的问题是,有没有其他人遇到Jet.OLEDB提供商的这种限制。 如果是,是否有问题的解决方法? 如果不是,是否有可用的替代解决方案可以加载如此大的CSV? 注意:这不是一次性任务,我需要为最终用户提供一个浏览/上传按钮,以便在需要时执行此导入。

富文本框如何突出显示文本块而不选择

我需要在RTB中突出显示我的文本的某一部分,而不是在改变字体样式/颜色的意义上,而是在使用特定颜色进行块选择的意义上。 这类似于Visual Studio在调试模式下突出显示一行的方式。 这里重要的是在没有使用richtextbox.select函数的情况下实现上述function,因为我所拥有的richtextbox正在定期更新,如果它在每次更新时调用select函数,用户将很难拖动文本而我不会我不希望这种情况发生。 我在编辑rtf的某个地方听到过一个解决方案,但我不完全确定如何做到这一点。 我很感激任何帮助。

如何解析节点名称中无效字符的XML?

所以我试图解析一些XML,其创建不受我的控制。 问题是,他们以某种方式获得了如下所示的节点: Visual Studio和.NET都认为上面使用的’(’和’)’字符完全无效。 不幸的是,我需要处理这些文件! 有没有办法让Xml Reader类看到这些字符,或动态地逃避它们或其他东西? 我可以对整个文件进行某种预处理,但如果它们以某种有效的方式出现在节点内,我想要’(’和’)’字符,所以我不想只删除它们。 ..

如何在MSMQ队列上获取所有可用消息

什么是获取当前队列中的所有消息进行处理的最佳方法? 我们有一个包含大量非常小的消息的队列,我想要做的是读取所有当前消息,然后通过线程池发送它们进行处理。 我似乎无法找到任何好的资源,它将告诉我如何创建一个简单的方法来返回IEnnumerable例如 谢谢

实体 – >界面关系,如何映射

我正在尝试开发一些基本的网络应用程序。 我将仅用两个实体Article和Image发布问题。 一篇文章有​​很多图像,一个或多个图像只属于一篇文章。 每篇文章都实现了接口IArticle和抽象类ArticleBase。 ArticleBase仅定义每篇文章的公共属性,但子文章除了ArticleBase中定义的属性外,可以具有更多属性。 所以我有( IArticle , ArticleBase , IArticle , ArticleBase ) public abstract class ArticleBase : Entity, IArticle { … public string Name { get; set; } public DateTime Created { get; set; } } public class ArticleComputer : ArticleBase { public virtual IList Images {get; set;} public virtual OSTypeEnum OS {get; […]

反思和generics获得财产的价值

我试图实现一个允许输出csv文件的通用方法 public static void WriteToCsv(List list) where T : new() { const string attachment = “attachment; filename=PersonList.csv”; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader(“content-disposition”, attachment); HttpContext.Current.Response.ContentType = “text/csv”; HttpContext.Current.Response.AddHeader(“Pragma”, “public”); bool isFirstRow = true; foreach (T item in list) { //Get public properties PropertyInfo[] propertyInfo = item.GetType().GetProperties(); while (isFirstRow) { WriteColumnName(propertyInfo); isFirstRow = false; } Type type = […]