学习LINQ时,经常会遇到LINQ泛型数据集问题,这里将介绍LINQ泛型数据集问题的解决方法。
查询是一种从数据源检索数据的表达式。查询用专用查询语言表示。随着时间的推移,人们已经为不同类型的数据源开发了不同的语言,例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。这使应用程序开发人员必须针对所支持的每种数据源或数据格式而学习新的查询语言。
语言集成查询 (LINQ) 通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了这一情况。在 LINQ 查询中,始终会用到对象。在查询和转换 XML 文档、SQL 数据库、ADO.NET 数据集和实体、.NET Framework 集合中的数据以及具有相应的 LINQ 提供程序的任何其他源或格式的数据时,都会使用相同的基本编码模式。
定义一个返回LINQ泛型数据集代码:
- using System;
- using System.Collections.Generic;
- namespace BlueCube.BusinessLogic
- {
- /// <summary>
- /// Encapsulates execution result contains whether the
execution is successful and what messages the invoker will receive.- /// </summary>
- public class ExecutionResult<T>
- {
- /// <summary>
- /// True as execution is successful. False as failed.
- /// </summary>
- public bool Success
- {
- get;
- set;
- }
- private List<string> _Messages = null;
- /// <summary>
- /// Stores message list
- /// </summary>
- public List<string> Messages
- {
- get
- {
- // Initialize message list if it is null
- if (_Messages == null)
- {
- _Messages = new List<string>();
- }
- return _Messages;
- }
- set
- {
- // Clear existed message list then add new list from value
- if (_Messages != null)
- {
- _Messages.Clear();
- foreach (string message in value)
- {
- _Messages.Add(message);
- }
- }
- else
- {
- _Messages = value;
- }
- }
- }
- /// <summary>
- /// Encapsulates the value if there is any return value during execution
- /// </summary>
- public T ReturnValue
- {
- get;
- set;
- }
- }
- }
以上介绍定义一个返回LINQ泛型数据集。
【编辑推荐】