LINQ to SQL:select语句中的if语句

时间:2016-10-31 17:52:15

标签: c# linq if-statement select

在c#中我希望使用名称为isedit

的列返回IEnumerable<DataRow>

我的innerResult类型是IEnumerable<DataRow>

但我有错误

 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<System.Data.DataRow>'. An explicit conversion exists (are you missing a cast?) 
 innerResult = (from f in innerResult

                                   select new
                                   {

                                      isedit =  (bool?)Convert.ToBoolean(((APS_WorkFlow_Activities).Contains(f.Field<Guid>("ActivityID")) ? false : true))
                                   });

1 个答案:

答案 0 :(得分:0)

如果innerResult是如下的匿名类型,则可以将选择结果分配给innerResult。否则,您无法将匿名类型指定给其他类型。您必须声明新变量。

  

var innerResult = new [] {new {isedit = default(bool)}}

否则,声明新变量

  

var innerResult2 =(来自innerResult中的f选择new {isedit =   (布尔?)Convert.ToBoolean(((APS_WorkFlow_Activities)。载有(f.Field( “ActivityID”))   ? false:true))});