草庐IT

computation-expression

全部标签

c# - Entity Framework 不会在 SQL Express (MDF) 中保留数据

我正在使用EntityFramework开发应用程序并将数据存储在.mdf数据库中。我的代码可以读取数据,显然它也可以保存,但只是表面上。它没有错误,当程序运行时它就像数据已保存一样,例如我可以保存一个对象,处理上下文,创建一个新对象,然后当我搜索我的对象时它就在那里!但是当我查询数据库以查看存储的数据时,那里什么也没有。如果我关闭应用程序并再次运行它,所有数据都将消失。这是我为测试而编写的示例代码:using(DatabaseEntitiese=newDatabaseEntities()){for(inti=0;ius=e.User.Where(x=>x.ID();foreach(U

c# - 什么更快 : expression trees or manually emitting IL

创建直接发出IL的方法与构建表达式树之间是否存在性能差异? 最佳答案 优秀而复杂的问题。最近之前,Expression根本无法处理所有情况-因此在许多情况下这是毫无疑问的。这随着Expression.Block等的引入而改变。在大多数“常见”情况下,Expression的使用可能绰绰有余,但我承认我没有精确的测量,仅仅是因为虽然我做了很多IL,但我还针对没有像Expression(当然不是Expression.Block)这样的奢侈品的下层框架。我也倾向于使用复杂的“装饰器”方法,这些方法可以很好地在IL中堆叠体操,但不一定进入Ex

c# - Visual Studio express : free class diagram tool

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭8年前。Improvethisquestion我正在使用c#express并希望使用免费工具来设计我的类图。您有什么推荐的免费工具?

c# - Expression.Call 在简单的 lambda 表达式中。可能吗?

我需要生成一个像这样的lambda表达式item=>item.Id>5&&item.Name.StartsWith("Dish")好的,item.Id>5很简单varitem=Expression.Parameter(typeof(Item),"item");varpropId=Expression.Property(item,"Id");varvalueId=Expression.Constant(5);varidMoreThanFive=Expression.GreaterThan(propId,valueId);但第二部分对我来说更复杂......varpropName=Expr

c# - 接受 Expression<Func<T>> 表达式作为参数的扩展方法

我正在使用.NET4.5和C#我想创建扩展方法,允许我传递对象的属性,如果该对象的Id为0,则returnnull否则返回该属性值。我可以通过反射(reflection)来解决问题,所以请考虑更多的训练练习,而不是我试图解决实际问题。当前扩展方法位于static类中,如下所示:publicstaticobjectGetNullIfNotSet(thisWillAnsweranswer,Expression>expression){if(answer.Id==0)returnnull;returnexpression.Compile()();}我希望能够使用它的方式如下(答案类型为Wil

c# - ReSharper 如何知道 "Expression is always true"?

检查以下代码:privatevoidFoo(objectbar){Typetype=bar.GetType();if(type!=null)//Expressionisalwaystrue{}}ReSharper声称type永远不会是null。这对我来说很明显,因为bar总是有一个类型,但ReSharper是如何知道的?它怎么知道方法的结果永远不会是null?Type不是结构,所以不可能是这样。而如果这个方法是我写的,那么返回值肯定可以是null(不一定是GetType,而是别的什么)。ReSharper是否足够聪明,知道只有那个特定方法的结果永远不会是null?(就像有一个永远不会返

c# - 在 visual studio 的快速版本中进行 TDD 的最佳方法(例如 VB Express)

我一直在为我目前正在编写的一个应用程序(OLE对象的OLE包装器)做一些测试驱动的开发。唯一的问题是我正在使用VisualStudio的快速版本(目前),目前我使用的是VBexpress,但有时我使用C#express。是否可以在express版本中进行TDD?如果是这样,最重要的是什么?干杯。编辑。看起来我将不得不购买完整的visualstudio以便我可以进行集成的TDD,希望预算中有钱购买副本:)。现在我想我会像大家说的那样使用Nunit。 最佳答案 Nunit似乎可以独立工作,为什么不尝试使用VisualStudio的快速版

c# - 从 Expression<Func<T, object>> 实例获取实际返回类型

我有一个接受Expression>的方法实例。我想获取特定表达式实例返回的实际数据类型,而不是object.我可以让它为直接属性引用工作,所以如果我传入表达式x=>x.IntegerProperty我可以获得整数的类型引用。此方法需要将其转换为MemberExpression。但是,我无法让它适用于任意表达式。例如,如果表达式是x=>x.IntegerProperty.ToString()我想获取字符串的类型引用。我无法将其编译为MemberExpression,如果我只是.Compile()它并检查我得到“对象”的返回类型。如何查看具体的表达式实例并推导出实际的返回类型?

c# - 错误 : Unable to evaluate expression because the code is optimized

我在我的asp.net应用程序中收到一个错误“无法评估表达式,因为代码已优化或native框架位于调用堆栈的顶部。”protectedvoidbtnCustomerProfile_Click(objectsender,EventArgse){try{Server.Transfer("CustomerProfile.aspx");}catch(Exceptionex){Response.Write(ex.ToString());}finally{}}搜索SO后,看到类似的帖子大多涉及response.redirect。我的代码使用的是server.transfer,我的应用程序也使用母版

c# - Expression<Func<T,bool>> 声明是什么意思?

有人可以用表达表达式的含义以及如何调用它的方式来解释以下声明吗?voidDelete(Expression>expression)whereT:class,new();我是这样读的:删除T类型的对象,通过传入一个参数为T类型对象的lambda表达式返回bool.还有,你能不能换Funcexpression和Predicateexpression 最佳答案 此方法可能是集合类型的成员,是吗?“谓词”是对“这个东西是那个集合的成员吗?”这个问题说"is"或“否”的任何设备。因此,集合“整数偶数正整数”的谓词将是x=>x>0&&x%2==