将集合添加到视图模型列表中

时间:2011-05-26 16:15:51

标签: c# .net asp.net-mvc

我有一个像

这样的视图模型
    public class MemberCommunicationType
    {
        public long person_id { get; set; }
        public int comm_id { get; set; }
        public someclass cls{ get; set; }
    }

    public class GetMemberColl
    {
        public MemberCommunicationType[] memberCommunication{ get; set; }
    }

我有一个像

这样的数据库查询
var query = from p in data.GetMember 
           where (p.Client == client && p.Person_id == pid) 
           select p;

此查询返回两个字段:long person_idint comm_id在视图模型中相同,只是视图模型还有一个字段:someclass cls

如何将查询返回的结果添加到我的视图模型中?

输出应该是一个列表,其中包含memberCommunication的集合和每个memberCommunication集合的空值cls集合。

2 个答案:

答案 0 :(得分:1)

我想你想做这样的事情:

var query = from p in data.GetMember 
            where (p.Client == client && p.Person_id == pid) 
            select new MemberCommunicationType 
                       { person_id = p.person_id, comm_id = p.comm_id}
            ;
var output = new GetMemberColl { memberCommunication = query.ToArray() };

答案 1 :(得分:0)

这会为您提供query类型IEnumerable<MemberCommunicationType>

var query = from p in data.GetMember 
            where (p.Client == client && p.Person_id == pid) 
            select new MemberCommunicationType
            {
                person_id = p.Person_id,
                comm_id = p.comm_id,
                cls = null
            };

然后,您可以使用List<T>将其转换为query.ToList()