如何使用Linq to Object访问自定义类的属性

本文关键字:自定义 属性 访问 Object 何使用 Linq to | 更新日期: 2023-09-27 18:09:51

我有一个自定义类如下

  public class LogFiles
{
    private string _fileName;
    private string _path;
    private string _logStatus;
    public LogFiles(string FName, string Path)
    {
        this._path = Path;
        this._fileName = FName;           
    }
    // the below two properties are mapped from DB entities
    public string FName
    {
        get { return this._fileName; }
        set { this._fileName = value; }
    }  
    public string Path
    {
        get { return this._path; }
        set { this._path = value; }
    }          
    // the value for this property will be defined on fly in MainViewModel
    public string LogStatus
    {
        get { return this._logStatus; }
        set { this._logStatus = value; }
    } 
}

我将在MainViewModel中设置LogStatus属性的值,但是要在MainViewModel中使用linq

访问该属性

像这样,

var get_logStatus = (from a in LogFiles 
                     ordeyby a.LogStatus
                     select a);

上面的代码只是一个猜测类似于写linq到实体,但它是可能的自定义类与linq到sql访问?如果这个问题听起来很蠢,请原谅我纠正它。

如何使用Linq to Object访问自定义类的属性

您正在谈论Linq To Object,因为您想要查询对象,而不是由DataContext生成的实体。

Linq To Object具有与Linq To Sql完全相同的语法(这就是制作Linq的要点!)唯一的问题是Linq To Sql查询的是可查询对象,就像实体的EntitySet,而Linq To Object查询的是对象的IEnumerable。

首先你需要一个IEnumerable,然后你可以像这样创建Linq查询:

var listLogFiles = new List<LogFiles>();
var orderedListLogFiles = (from a in listLogFiles 
                           order by a.LogStatus
                           select a);