这是我的方法,它给了我错误.
public List<Project> GetProjectForCombo()
{
using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString()))
{
var query = from pro in db.Projects
select new { pro.ProjectName, pro.ProjectId };
return query.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我改变它:
public List<Project> GetProjectForCombo()
{
using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString()))
{
var query = from pro in db.Projects
select pro;
return query.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
然后它工作正常没有错误.
能告诉我,我怎样才能返回ProjectId和ProjectName.
谢谢.
当我尝试在Sub Select中调用我的存储库时,我收到了此错误.
IGrpTextRepository rep = new GrpTextRepository();
var query = new DetailViewModel
{
ViewDet = (from gh in _db.Grp
select new MultiDetailViewModel
{
Header = gh,
Txts = rep.FindAllLangTxtById(gh.GrpID)
}).ToList(),
Lang = _db.Language.ToList(),
};
Run Code Online (Sandbox Code Playgroud)
我的界面是
public interface IGrpTextRepository
{
IQueryable<GrpText> FindAllLangTxtById(int GrpID);
}
public class GrpTextRepository : IGrpTextRepository
{
DBEntities db = new DBEntities();
public IQueryable<GrpText> FindAllLangTxtById(int GrpID)
{
return (from lang in db.Language
join gtxts in db.GrpText on lang.LangID equals gtxts.LangID into jointxt
from fintxt in jointxt.DefaultIfEmpty()
where fintxt.GrpID …Run Code Online (Sandbox Code Playgroud) 因此,当我尝试从 Web Api 获取数据时,就会发生这种情况:
异常消息:
LINQ to Entities 仅支持无参数构造函数和初始值设定项。
这是我的服务:
public async Task<ICollection<TicketDto>> GetAllUnansweredTicketsAsync()
{
return await _context.Tickets.Include(m => m.Message)
.Include(u=>u.User)
.OrderByDescending(d=>d.Message.Date)
.Select(t => new TicketDto(t)).ToListAsync();
Run Code Online (Sandbox Code Playgroud)
这就是我的 DTO 的样子:
public class TicketDto
{
public int ID { get; set; }
public string Username { get; set; }
public string Issue { get; set; }
public DateTime Date { get; set; }
public TicketDto(Ticket ticket)
{
ID = ticket.ID;
Username = ticket.User.UserName;
Issue = ticket.Message.Title;
Date = ticket.Message.Date;
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下如何解决这个问题吗?
我需要在linq查询中调用构造函数.
我收到此错误:
LINQ to Entities中仅支持无参数构造函数和初始值设定项.
这是我的linq查询:
IQueryable<Object> list = (from u in db.Object select new Object(u));
Run Code Online (Sandbox Code Playgroud)
这是我的构造函数:
public Object(Object presentation){}
Run Code Online (Sandbox Code Playgroud)