我是Linq的新手,可以使用一些帮助。 我试图将自定义Linq查询设置为MVC视图,但我无法弄清楚如何操作?
以下是我的actionresult的代码
来自db.Stats中的st
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上。
答案 0 :(得分:1)
您可以创建一个新的具体类并执行select new
而不是select new Example
:
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;