Linq-to-Entities离开JOIN

这是我的查询: from forum in Forums join post in Posts on forum equals post.Forum into postGroup from p in postGroup where p.ParentPostID==0 select new { forum.Title, forum.ForumID, LastPostTitle = p.Title, LastPostAddedDate = p.AddedDate }).OrderBy(o=>o.ForumID) 目前,Join不是左连接,这意味着如果某个论坛没有属于它的post,则不会返回。 没有post的论坛必须返回post属性的null(或默认)值。 UPDATE 结果集应该是这样的: ForumId | ForumTitle | LastPostTitle | LastPostAddedDate ——–+————+—————+—————— 4 | Sport | blabla | 12/4/2010 4 | Sport […]

定义每个子类定义一次的静态属性的最佳方法是什么?

我编写了以下控制台应用程序来测试静态属性: using System; namespace StaticPropertyTest { public abstract class BaseClass { public static int MyProperty { get; set; } } public class DerivedAlpha : BaseClass { } public class DerivedBeta : BaseClass { } class Program { static void Main(string[] args) { DerivedBeta.MyProperty = 7; Console.WriteLine(DerivedAlpha.MyProperty); // outputs 7 } } } 正如此控制台应用程序演示的那样, MyProperty属性对于所有BaseClass实例都存在一次。 是否有使用的模式允许我定义一个静态属性,该属性将为每个子类类型分配存储? […]

带均衡器的声音

几天后,我正在尝试使用C#创建均衡器。 看过NAudio相当多的时间,但我找不到任何适用于naudio的均衡器。 现在几天后,我终于在@stackoverflow,希望你知道一种使用c#创建均衡器的方法。 PS:我也尝试过System.Media.SoundPlayer。 但SoundPlayer甚至不支持任何与dsp有关的东西。 那么还有另一个音频库可以在外面使用“纯”音频吗?

.Net核心类库的条件编译符号

我创建了一个.Net Core R2类库,它有一些我用于几个不同平台的常用代码。 某些代码在.Net Core平台中无效,因此我希望将其包含在条件编译符号中。 我首先搜索互联网,看看我是否能找到内置符号(如Silverlight应用程序的SILVERLIGHT和Windows 8应用程序的WINFX_CORE),但无法找到任何信息,所以我决定创建自己的符号。 这似乎也不起作用。 从我阅读的所有内容中添加和使用符号应该很简单,只需在Project Properties中为条件编译符号添加一个值即可 构建标签。 我做到了,但似乎确实有效。 这里有几个屏幕截图…… 请注意,我在条件编译符号中添加了一个NET_CORE值,但是当我在代码中使用它时,代码不会被忽略。 1)是否有人知道.Net Core平台是否有内置符号(我使用的是R2)? 2)如果没有,我在创建自己的符号时做错了什么? .xproj文件: 14.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 253184d7-9b42-4233-a871-8cfa3ee9e83e Linq2Db.NetCore .\obj .\bin\ v4.6.1 SAK SAK SAK SAK 2.0 更新:我能够使用提供的答案中的链接解决此问题。 这是细节…… 最初project.json文件看起来像这样…… { “dependencies”: { “NETStandard.Library”: “1.5.0-rc2-24027” }, “frameworks”: { “netstandard1.5”: { “imports”: “dnxcore50” } }, “buildOptions”: { “defines”: [ “NET_CORE” ] } } […]

DirectorySearcher FindOne()在初始执行时延迟

我在执行DirectorySearcher FindOne()和我看到的第一个网络数据包之间的初始延迟时间为2-5秒。 初始执​​行后,后续执行立即完成约45秒。 在快速执行的那段时间之后,下一次执行将被延迟,并且所有后续执行将立即完成。 似乎有某种缓存正在进行,但我无法找到任何确认或描述导致初始延迟的资源。 我们在客户端Windows 2008服务器上注意到了这一点,然后在我们自己的Windows 2008和Windows 7盒子上重现。 这是我简单的.NET 4.0 C#应用程序的样子。 延迟发生在“已启动”和“已完成”消息之间。 知道为什么这个延迟发生在最初的FindOne()执行上? 任何帮助深表感谢! using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices; namespace LdapTest { class Program { static void Main(string[] args) { string[] fetchAttributes; fetchAttributes = new string[] { “{string[0]}” }; using (DirectoryEntry searchRoot = new DirectoryEntry(“LDAP://localserver/ou=lab,dc=ourdomain,dc=com”, “cn=binduser,ou=Services,dc=ourdomain,dc=com”, “Password”, AuthenticationTypes.ReadonlyServer)) { using (DirectorySearcher […]

什么是在.net 2中生成唯一集的最快方法

我有一个基本上是锯齿状的名称值对数组 – 我需要从中生成一组唯一的名称值。 锯齿状arrays约为86,000 x 11值。 对我来说,以什么方式存储名称值对(单个字符串“name = value”或专门的类,例如KeyValuePair)并不重要。 附加信息:有40个不同的名称和更多的不同值 – 可能在10,000个值的区域内。 我正在使用C#和.NET 2.0(并且性能非常差)我认为将整个锯齿状数组推送到sql数据库并从那里做一个不同的选择可能会更好。 以下是我使用的当前代码: List<List<KeyValuePair>> vehicleList = retriever.GetVehicles(); this.statsLabel.Text = “Unique Vehicles: ” + vehicleList.Count; Dictionary<KeyValuePair, int> uniqueProperties = new Dictionary<KeyValuePair, int>(); foreach (List<KeyValuePair> vehicle in vehicleList) { foreach (KeyValuePair property in vehicle) { if (!uniqueProperties.ContainsKey(property)) { uniqueProperties.Add(property, 0); } } } this.statsLabel.Text += […]

以类型安全的方式处理PropertyChanged

有很多文章关于如何使用reflection和LINQ以类型安全的方式引发PropertyChanged事件,而不使用字符串。 但有没有办法以类型安全的方式使用 PropertyChanged事件? 目前,我正在这样做 void model_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case “Property1”: … case “Property2”: … …. } } 有没有办法避免在switch语句中硬编码字符串来处理不同的属性? 一些类似LINQ或基于reflection的方法?

用渐变色绘制线条

是否可以使用渐变色绘制线条? 我希望能够绘制直线或曲线(如果可能),在该线的一端是蓝色,另一端是红色。 此外,可能需要每行有多个渐变,例如颜色来自蓝色 – >绿色 – >红色。 我想这可能只是由多个渐变线组成。

无法加载文件或程序集“System.Net.Http”或其依赖项之一

也许相关信息:我有一个我用.net 4.5构建的Web应用程序。 我想部署到Azure的网站,但它只支持.net 4.0,所以我将项目降级为.net 4.0。 它在本地运行时仍然有效。 当我发布到Azure时,我收到此错误: 无法加载文件或程序集“System.Net.Http”或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 我尝试用nuget删除Web API并读取它,正如SO建议的另一个问题,但我仍然有同样的问题。 我试过关闭/打开VS,并清理/构建。

ssis vsta脚本组件在编辑VS2015时打开速度慢

自从升级visual studio 2015并使用ssis以来,我们已经体验到Script Task / Component的编辑器大约需要30秒才能打开。 我看到一些较旧的post建议将“127.0.0.1 crl.microsoft.com”添加到本地hosts文件中。 但是对我正在经历的问题没有影响。 真的希望有人有同样的问题,也许找到解决方案?