Tag: .net

无法转换为LINQ to Entities存储表达式

我对LINQ to Entities相对较新,但是使用LINQ to Sql很多。 我正在使用Visual Studio 2013与EntityFramework 6和MVC 5。 两者之间最大的区别在于Linq2SQL能够在SELECT查询本身内执行转换,而LINQ2Entities并不宽容,并且必须在执行LINQ查询之前进行正确的转换。 因此,我收到错误: 类型’BillYeagerDB.EdmxExtensionMethods’上的指定方法’System.Decimal ConvertToDecimal(Byte)’无法转换为LINQ to Entities存储表达式。 在做了大量的研究之后,特别是在使用这个问题的stackoveflow上,我发现了一个链接( LINQ to Entities无法识别方法’Double Parse(System.String)’方法,并且这个方法无法转换为商店表达式 )工作。 我确定作者给出了作品的例子,但他正在使用ObjectContext,我正在使用DbContext。 我也相信它对我有用,但我想我只是错误地设计了扩展方法(这给了我上面的错误)。 请注意,此特定问题与Linq查询中的AvgRating变量有关。 一旦我能够使用它,我可以为任何其他转换执行相同类型的修复。 请注意, AvgRating定义为Decimal类型, a.Rating.RatingValue定义为类型Byte。 如果有人能够理顺我,我会非常感激。 这是我的代码。 我正在尝试使用以下查询,由于转换问题,我知道这些查询无效(如前所述)。 原始LINQ查询: namespace BillYeagerDB { public class BillYeagerDB { public async Task<List> GetRestaurantListAsync() { try { using (BillYeagerEntities DbContext = new BillYeagerEntities()) { DbContext.Database.Connection.Open(); […]

你如何找到锁的所有者(监视器)?

有没有办法发现当前拥有锁的线程? 具体来说,我正在寻找一些代码来打印阻止锁被采取的线程。 我想尝试锁定给定的超时,然后报告哪个线程阻止锁被采取。

从asp.net中动态创建的文本框中获取文本

我整个上午一直在反对这个,所以希望我能得到一些帮助。 基本上我有问题从一些文本框控件获取值我在.net 4中动态创建。 这是应用程序的理想流程。 1)。 用户从下拉菜单中选择一个html文档,该菜单是一个字母的模板。 这个html文档包含格式$ VARIABLENAME $的标签,将用正确的值替换。 2)。 该程序通过模板运行并拉出$ STRING $格式的所有字符串并将它们存储在列表中。 3)。 对于此列表中的每个条目,程序生成一个asp:标签和一个asp:textbox,其中包含基于原始$ VARIABLENAME $字段的唯一ID。 4)。 用户输入替换值,然后点击提交。 5)。 程序用替换值替换所有$ STRING $并输出结果。 一切正常,直到我需要从文本框中获取值。 我很确定它是页面生命周期的一个问题,但是因为在使用从下拉列表中选择所需的模板之前不会生成文本框,所以我不确定如何通过回发使它们持久化以便我可以引用它们。 我错了吗? 在发生回拨事件后,如何访问从下拉事件创建的文本字段? 编辑:这是相关代码的大部分内容。 protected void createTextBoxes(List results) { if (results != null) { foreach (string result in results) { string formattedResult = result.Substring(1, result.Length – 2); formattedResult = formattedResult.ToLower(); formattedResult […]

即使具有管理员权限,Process.kill()在Windows 7 32位中被拒绝

大家好。 我遇到了一个奇怪的问题。 我的应用程序有一个简单的方法,如果IE进入一个状态是它得不到响应这个方法被解雇所有IE进程,然后应用程序重新启动它与IE的工作。 方法代码: foreach (System.Diagnostics.Process exe in System.Diagnostics.Process.GetProcesses()) { if (exe.ProcessName.StartsWith(“iexplore”)) exe.Kill(); } 即使使用管理员权限调试我的应用程序,应用程序有时也会成功运行此方法,有时我会收到错误Access Denied甚至以管理员身份运行。 我甚至编写了我自己的清单文件,指定需要使用管理员权限执行此应用程序,我认为我做对了。 清单代码: 以前有人有这个问题吗? 我怎样才能纠正这个奇怪的问题。 谢谢

为什么double.Parse(“0.05”)返回5.0?

我正从App.config中读取一个值; 这是: 我尝试通过以下方式将其转换为双倍: var d = double.Parse(ConfigurationManager.AppSettings[“someValue”]); 而我获得5.0而不是0.05。 你能建议吗? 我做错了什么,我应该如何解析?

通过HttpWebRequest传递二进制数据

使用.Net,我想通过HttpWebRequest传递一些二进制数据(一些序列化对象)。 我可以将它放在请求流上,还是需要将其编码为base64字符串? 我的意思是,如果我有: byte[] data = new byte[1000]; GetSomeStrangeData(data); 我是否需要使用Convert.ToBase64String或者我可以将它从HttpWebRequest.GetRequestStream写入流中吗? 后人: http://tools.ietf.org/html/rfc2616 http://msdn.microsoft.com/en-us/library/d4cek6cc.aspx http://www.wireshark.org/ http://www.fiddler2.com

为什么我不能将DataContext = {Binding}用于我的上下文菜单?

我的代码看起来像这样: 没有上下文菜单,一切都按预期工作。 但是当我添加这些行时: 我为使用HierarchicalDataTemplate每个元素得到了这个(运行时)错误: System.Windows.Data错误:3:找不到提供DataContext的元素。 BindingExpression :(没有路径); 的DataItem = NULL; target元素是’SomeContextMenu’(Name =”); target属性是’DataContext’(类型’Object’) 为什么Binding适用于除上下文菜单之外的所有内容,但不适用于上下文菜单?

在返回值周围使用括号是否提供任何与编译器相关的好处?

只是看一个相当伟大的微软教练Mike Taulty的video。 在他的video中,他一直用括号括起他的回报值,甚至包括单个值: return (null); IntelliSense是否有一些隐藏的好处,或者可能是编译器提供的一些好处? 代码如下: public ObservableCollection Emails { get { return (emails); } set { emails = value; } }

使用byte作为主键数据类型

我正在使用entity framework代码优先。 我有一个表不会超过100行,我想使用数据类型byte (SQL Server中的tinyint )作为主键。 这是我到目前为止: [Key] public byte Id { get; set; } 问题是当Entity Framework创建数据库时,它没有设置允许行在插入时自动递增的标识规范属性。 如果我将数据类型更改为Int16 (SQL Server中的smallint ),一切都很完美。 有没有办法告诉entity framework设置自动增量属性,还是一个字节不能用作entity framework代码优先的主键?

如何使用C#读取和编辑XML文件?

如何打开和编辑现有XML文件? 我想修改一些值,如: myaddr 例如,如果myaddr,我想放置loreal。 我在C#工作。 如果你能告诉我一些代码,我将不胜感激。