如何使用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,因为您想要查询对象,而不是由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);