我如何把这个自定义Linq查询查看
本文关键字:Linq 查询 自定义 | 更新日期: 2023-09-27 18:06:06
我是Linq的新手,可能需要一些帮助。我试图设置自定义Linq查询到MVC视图,但我不能真正弄清楚如何?
下面是我的actionresult 的代码from st in db。统计
orderby
st.ID descending
select new
{
st.ID,
st.Date,
st.Created,
st.Accepted,
st.Ended,
Totaltime =
(SqlFunctions.StringConvert((double) SqlFunctions.DateDiff("ss", st.Created, st.Ended)/60) + ":" +
("0" + SqlFunctions.StringConvert((double) SqlFunctions.DateDiff("ss", st.Created, st.Ended)%60))
.Substring(
("0" +
SqlFunctions.StringConvert((double) SqlFunctions.DateDiff("ss", st.Created, st.Ended)%60))
.Length - 2, 2)),
Ordertime =
(SqlFunctions.StringConvert((double) SqlFunctions.DateDiff("ss", st.Accepted, st.Ended)/60) +
":" +
("0" +
SqlFunctions.StringConvert((double) SqlFunctions.DateDiff("ss", st.Accepted, st.Ended)%60))
.Substring(
("0" +
SqlFunctions.StringConvert(
(double) SqlFunctions.DateDiff("ss", st.Accepted, st.Ended)%60)).Length - 2, 2)),
st.Message
我知道我应该使用viewmodel来获得这个权利,但我被困在Totaltime和Ordertime上,因为它们是在查询中创建的。
您可以创建一个新的具体类并执行select new Example
,而不是执行select new
:
public class Example
{
public string ID { get; set; }
public string Filename { get; set; }
}
,你可以使用LINQ获取一个列表,例如:
List<Example> data = (from x in events
group x by x.GetMessageFields() into grouping
let y = grouping.Select(x => x.GetFilename()).ToList()
select new Example
{
ID = grouping.Key,
Filename = y.First()
}).ToList();
如果你有一个模型类,你可以添加一个List<Example>
到它现在和使用它:
model.ExamplesList = data;