草庐IT

dynamic-linq

全部标签

c# - 使用 linq 将对象模型列表映射到另一个列表

我有两个共享一些属性的对象模型和一个我想用来创建另一种类型列表的类型列表。现在,我有这样的东西(并且有效):ListTheListOfObjectsA=theresultofsomequery;ListTheListOfObjectsB=newList();foreach(ObjectATheObjectAinTheListObjectsA){ObjectBTheObjectB=newObjectB();TheObjectB.Prop1=TheObjectA.Prop1;TheObjectB.Prop2=TheObjectA.Prop2;TheListOfObjectsB.Add(Th

c# - LINQ 或 ADO.net Entity Framework - 学习哪个?

澄清一点:我在浏览JuliaLerman的OreillyEntityFramework标题时感到非常困惑。我有CharlieCalvert的基本LINQ,但是从我与Lerman的书的10分钟session中,它表明LINQ是LINQtoSQL,它的DataContext对象等似乎功能不足......尽管EntityFramework是future,但它有一个叫做EntitySQL的东西,在我看来它看起来与Transact-SQL完全一样。现在我的眼睛可能有点生锈了,但问题是:既然EntityFramework是Microsoft支持的主力,那么学习LINQtoSQL有什么意义吗varn

c# - LINQ to Entities 无法识别方法 'System.String get_Item (System.String)' ,

我该如何解决这个问题?这是我的代码:DateTimedtInicio=newDateTime();DateTimedtFim=newDateTime();Int32codStatus=0;if(!string.IsNullOrEmpty(collection["txtDtInicial"]))dtInicio=Convert.ToDateTime(collection["txtDtInicial"]);if(!string.IsNullOrEmpty(collection["txtDtFinal"]))dtFim=Convert.ToDateTime(collection["txtDt

c# - .NET LINQ 按日期(天)对实体进行分组

我在这里发布了同样的问题:LINQtoEntitiesgroup-byfailureusing.date但是,答案并非100%正确。它适用于所有情况,除非使用不同的时区。当使用不同的时区时,它也会按时区分组。为什么?我设法通过使用许多实体函数来绕过它。intlocalOffset=Convert.ToInt32(TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalMinutes);varresults=(fromperfEntryindb.entrywhere(....)selectnew{perfEntry.Operati

C# 动态 Linq/查询

更新2我开始更多地听从James关于使用反射的建议,并得到了一些可以返回基于字符串变量的属性值的东西。我不想把它作为答案,因为我觉得它可能不是最好的解决方案。这是代码:DataContextdataBase=newDataContext();ListlistOfFields=newList;ListlistOfUsers=newList//strFieldsandstrNamesarestringsgeneratedfromlistOfFieldsandlistOfUsersIEnumerableuserInfo=dataBase.ExecuteQuery("select"+strFi

c# - 在 Select 和 Where 调用中重用 Linq to Entities 的 Expression<Func<T, TResult>

假设我有一个实体对象定义为publicpartialclassArticle{publicId{get;set;}publicText{get;set;}publicUserId{get;set;}}根据文章的某些属性,我需要确定给定用户是否可以删除该文章。所以我添加了一个静态方法来进行检查。像这样的东西:publicpartialclassArticle{publicstaticExpression>CanBeDeletedBy(intuserId){//Addlogictobereusedherereturna=>a.UserId==userId;}}现在我可以做using(MyE

c# - 为什么 List<>.OrderBy LINQ 在 Debug模式下比 IComparable+List<>.Sort 更快?

我感兴趣的是使用LINQ或通过实现IComparable接口(interface)和List.Sort对我的类进行排序是否会更快。当LINQ代码更快时,我感到非常惊讶。为了进行测试,我使用不太恰当的名称TestSort创建了一个非常简单的类,实现了IComparable。classTestSort:IComparable{privateintage;privatestringgivenName;publicintAge{get{returnage;}set{age=value;}}publicstringGivenName{get{returngivenName;}set{givenN

c# - 将 LINQ 表达式传递给另一个 QueryProvider

我有一个简单的自定义QueryProvider,它接受一个表达式,将其转换为SQL并查询一个sql数据库。我想在QueryProvider中创建一个小的缓存来存储经常访问的对象,这样就可以在不命中数据库的情况下进行检索。QueryProvider有方法publicobjectExecute(System.Linq.Expressions.Expressionexpression){///BuildsanSQLstatementfromtheexpression,///executesitandreturnsmatchingobjects}缓存作为这个QueryProvider类中的一个

c# - 如何并行运行 LINQ 'let' 语句?

我有这样的代码:varlist=newList{1,2,3,4,5};varresult=fromxinlist.AsParallel()leta=LongRunningCalc1(x)letb=LongRunningCalc2(x)selectnew{a,b};假设LongRunningCalc方法每个都需要1秒。上面的代码运行大约需要2秒,因为虽然5个元素的列表是并行操作的,但从let语句调用的两个方法是顺序调用的。但是,这些方法也可以安全地并行调用。它们显然需要为select合并回来,但在那之前应该并行运行-select应该等待它们。有什么办法可以实现吗?

c# - LINQ 到 SQL : intermittent AccessViolationException wrapped in TargetInvocationException

几周以来,我们的ASP.NetWeb应用程序遇到了W3WP崩溃。这些是在我们的网络服务器更新后开始的。我们的应用程序没有改变,多年来一直稳定。我们的情况好像很像thisearlierquestion.和thisquestion也可能是相关的,但在我们的例子中,查询在99.9%的使用时间中运行良好。我们使用了大量未编译的LINQ查询,并尝试编译它们是否可以防止这些崩溃。崩溃的数量急剧减少,但它们仍然会发生。同样将我们的查询包装在trycatch中然后捕获TargetInvocationException是行不通的。未捕获异常。当崩溃发生时,我们会得到一个WER报告并可以检索崩溃转储。来自