list <t> - 用于检索数据的sql语句

时间:2018-06-11 16:37:02

标签: c#

我有下表

public class QTable
{
    public string QID { get; set; }
    public string QNO { get; set; }
    public string Q1 { get; set; }
    public string Q2 { get; set; }
    public string opt1 { get; set; }
    public string opt2 { get; set; }
    public string opt3 { get; set; }
    public string opt4 { get; set; }
    public string Answer { get; set; }
    public string Remarks { get; set; }
    public string KnowledgeArea { get; set; }
    public string Hints { get; set; }
    public string Section { get; set; }
    public string ToughLevel { get; set; }
    public string DateCreated { get; set; }
    public string Category { get; set; }
    public string DeleteMe { get; set; }

}

 QID is my primary key.

我有

 List<Qtable> qtableList = <list of all values of qtable from a query>

我需要找到一个特定的QID并采取其他字段进行操作。 是否存在类似于结构的SQL语句来处理列表中的这些内容?

2 个答案:

答案 0 :(得分:4)

您可以使用获取所需的项目

Qtable item = qtableList.FirstOrDefault(x=>x.QID == id);

请注意,如果列表中不存在QID并且您尝试访问其中一个属性,则“对象”引用不是对象例外的实例&#39;将被抛出,因为您正在尝试访问空对象。

为了防止这种情况,请在访问之前检查返回值是否为null,并修改所需的属性。

答案 1 :(得分:3)

在C#中,最好的sql ike方法只是简单地使用linq,它可以处理这种请求。

基本语法是:

var query = from qt in qtableList
            where qt.QID == "1"
            select qt;

这基本上是返回数据的第一个pk元素。

插入,更新和其他基本的SQL操作也可以。

有关此内容的更多信息: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/basic-linq-query-operations