Dictionary操作

 

c#

var vhe = new Dictionary<String,String>();

var queryString = context.Request.QueryString;

foreach ( string item in queryString ) {

vhe.Add ( item , CommonFunc.ConvertObjectToString ( queryString[item] ) );

}

return vhe;
对以上C#代码用LinQ To Object 进行Coding
 

LinqToObject

1:

  var query = from item in queryString.OfType<String> ()

              select new KeyValuePair<string , string> ( item , queryString[item] );

  var vhe = new Dictionary<String , String> ();

  foreach ( var item in query ) {
        vhe.Add ( item.Key.ToString () , item.Value.ToString () );
  }
  return vhe;

2:

   return queryString.OfType<String> ()

                     .ToDictionary ( item => item , item => queryString[item] );

 

 

LEFT OUTER JOIN 操作

 

SQL:

 

代码
SELECT [t0].[MemberID], [t0].[MemberName]
FROM [dbo].[MemberInfo] AS [t0]
LEFT OUTER JOIN [dbo].[MemberSort] AS [t1] ON ( [t1].[MemberType] = 0 ) AND
(
[t0].[MemberID] = [t1].[MemberID] )
ORDER BY ( CASE WHEN [t1].[SortNumber] IS NOT NULL THEN [t1].[SortNumber]
ELSE 9999
END )

 


LINQ:

var data = from m in db.MemberInfo
join s
in db.MemberSort on m.MemberID equals s.MemberID
into x
from cx
in x.Where(d => d.MemberType == 0).DefaultIfEmpty()
orderby cx.SortNumber.HasValue
? cx.SortNumber.Value : 9999
select m;

 

相关文章: