日期:2014-05-20  浏览次数:20803 次

linq 语句怎么返回一个自己定义的类型
我自己定义了一个Msg的类型,我想再写一个方法,返回的是Msg类型
public Msg GetSingleMsg(int id)
{
//怎么实现从一张表中取出主键=id的那一行,并返回Msg类型的数据(Msg字段跟表中是对应的)
}

------解决方案--------------------
public Msg GetSingleMsg(int id)
{
//怎么实现从一张表中取出主键=id的那一行,并返回Msg类型的数据(Msg字段跟表中是对应的)
 return db.MsgTable.SingleOrDefalut(m=>m.Id==id);
}
------解决方案--------------------
public List<Msg> foo()
{
return db.Select(x => new Msg() { id = x.id, content = x.content }).ToList();
}

public List<Msg> foo(int ID)
{
return db.Where(x => x.id == ID).Select(x => new Msg() { id = x.id, content = x.content }).FirstOrDefault();
}

------解决方案--------------------
public List<Msg> foo(int ID)
=>
public Msg foo(int ID)

------解决方案--------------------
public Msg GetSingleMsg(int id)
{
//怎么实现从一张表中取出主键=id的那一行,并返回Msg类型的数据(Msg字段跟表中是对应的)
 return db.MsgTable.Where(m=>m.Id==id).Select(m=>new Msg{Id=m.Id,Name=m.Name}).FirstOrDefalut();
}
------解决方案--------------------
C# code

public Msg GetSingleMsg(int id)
{
//怎么实现从一张表中取出主键=id的那一行,并返回Msg类型的数据(Msg字段跟表中是对应的)
 MSg msg=from msg in db
         Where(m=>m.Id==id)
         select new Msg
         {
            Id=msg.Id,
            Content=msg.Content
          };
}