草庐IT

Linq2XSD

全部标签

c# - 如何一点一点地建立一个 Linq to Sql where 子句?

正在向我传递参数类中的一组查询字符串参数,用于查询图像数据库。每次调用时,一些参数可能为空。所以在sql中我会像这样构建查询if(parameters.Value1!=null){sql.Append("sql_where_clause");}if(parameters.Value2!=null){sql.Append("sql_where_clause");}我如何使用Linq做同样的事情? 最佳答案 动态构建where-clauses的最佳方法是使用精彩的AlbahariPredicateBuilder.您可以使用它来构建包含O

c# - 使用 Linq 从 3 个集合创建项目

我有3个集合,它们的项目数完全相同。我需要根据这3个集合项目值创建一个新集合。例子:Listlist1;Listlist2;Listlist3;Listlist4;publicclassItem{publicdoubleValue1{get;set;}publicdoubleValue2{get;set;}publicdoubleValue3{get;set;}}我尝试使用Linq来实现这一点。我试过了:varquery=fromptinlist1fromatinlist2fromctinlist3selectnewItem{Value1=pt,Value2=at,Value3=ct}

c# - 除了方法在 linq 中如何工作

我有类(class):classSomeClass{publicstringName{get;set;}publicintSomeInt{get;set;}}classSomeComparison:IEqualityComparer{publicboolEquals(SomeClasss,SomeClassd){returns.Name==d.Name;}publicintGetHashCode(SomeClassa){return(a.Name.GetHashCode()*251);}}我还有两个大的List称为list1和list2以前我有:varq=(fromainlist1fr

c# - 拆分然后逐步连接字符串 - C# Linq

这是我的字符串:www.stackoverflow.com/questions/ask/user/end我用/把它拆分成一个单独的单词列表:myString.Split('/').ToList()输出:www.stackoverflow.comquestionsaskuserend我需要重新加入字符串以获得这样的列表:www.stackoverflow.comwww.stackoverflow.com/questionswww.stackoverflow.com/questions/askwww.stackoverflow.com/questions/ask/userwww.stack

c# - 字符串数组中的 LINQ "zip"

假设有两个数组:String[]title={"One","Two","three","Four"};String[]user={"rob","","john",""};当user值为Empty时,我需要过滤掉上面的数组,然后将两者连接或压缩在一起。最终输出应该是这样的:{"One:rob","three:john"}这如何使用LINQ完成? 最佳答案 首先,您需要一个Zip运算符将两个数组压缩在一起。这是来自EricLippert'sblog的代码的缩写版本(此版本中没有错误检查,只是为了简洁):publicstaticIEnum

c# - 可以在运行时使用代码针对 xsd 验证 xml 吗?

我有在运行时读入的xml文件,是否可以在运行时根据xsd文件验证xml?使用C# 最佳答案 试试这个:publicvoidValidateXmlDocument(XmlReaderdocumentToValidate,stringschemaPath){XmlSchemaschema;using(varschemaReader=XmlReader.Create(schemaPath)){schema=XmlSchema.Read(schemaReader,ValidationEventHandler);}varschemas=new

c# - LINQ 命名标准 - Lambda 表达式

这个问题在这里已经有了答案:Lambdavariablenames-toshortname,ornottoshortname?[closed](11个答案)关闭9年前。我们通常遵循所有C#语法的编码/命名标准。例如,如果我们在方法中声明字符串,我们使用范围-数据类型-字段名格式。(lstrPersonName)ListicolPerson;privateLoadPersonName(){stringlstrPersonaName;}我在想我们如何遵循Lambda表达式中的命名标准。特别是当我们为funcdelegate定义参数时,我们使用像x这样的短名称。例如varlobjPerson

c# - Linq扩展方法,如何在集合递归中查找子项

我已经熟悉Linq,但对扩展方法知之甚少,希望有人能帮助我。所以我有这个分层集合伪代码即:classProductpropnameproptypepropidpropListchildren我有一个产品列表Listproducts.有什么方法可以通过扩展方法通过id查找此集合中的产品吗?换句话说,我需要层次结构中某处的一项。 最佳答案 这是一个通用的解决方案,一旦找到匹配项,它就会短路层次结构的遍历。publicstaticclassMyExtensions{publicstaticTFirstOrDefaultFromMany(t

c# - LINQ .SUM() 和可为空的数据库值

我知道为什么会这样,但有人能指出正确的语法方向吗?目前我有:varexpense=fromeindb.I_ITEMwheree.ExpenseId==expenseIdselecte;returnexpense.Sum(x=>x.Mileage??0);我的问题是x.Mileage的类型是“double?”并且在数据库中有空值。我得到的错误是:ExceptionDetails:System.InvalidOperationException:Thecasttovaluetype'Double'failedbecausethematerializedvalueisnull.Eithert

c# - linq to 实体,where in where 子句? (里面的地方)

我有一个表,该表具有到一个表的一对多映射,该表具有到另一个表的多对多映射。我想执行以下操作:varresults=context.main_link_table.Where(l=>l.some_table.RandomProperty=="myValue"&&l.some_table.many_to_many_table.Where(m=>m.RandomProperty=="myValue"));我怎样才能做到这一点?第一部分会起作用,但在没有“内部WHERE”的情况下尝试时,我无法访问many_to_many_table的属性,但“内部位置”显然无法编译。我基本上想实现类似以下SQ