我有一个自定义类,如下所示
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访问sql? 如果听起来很愚蠢,请原谅我并纠正这个问题。
答案 0 :(得分: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);