1

我有一个自定义类如下

  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 属性的值,但要使用 linq 在 MainviewModel 中访问此属性

像这样的东西,

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

上面的代码只是一个类似于将 linq 写入实体的猜测,但是自定义类是否可以使用 linq to sql 进行访问?如果听起来很愚蠢,请原谅我并纠正这个问题。

4

1 回答 1

1

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

Linq To Object 具有与 Linq To Sql 完全相同的语法(这就是制作 Linq 的意义!)。唯一的事情是 Linq To Sql 正在查询 Queryable 对象,例如实体的 EntitySet,而 Linq To Object 正在查询 IEnumerable 对象。

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

var listLogFiles = new List<LogFiles>();
var orderedListLogFiles = (from a in listLogFiles 
                           order by a.LogStatus
                           select a);
于 2013-04-17T10:28:30.990 回答