【发布时间】:2017-04-11 16:43:15
【问题描述】:
我正在尝试使用 linq 查询中的连接从我的数据库中的表中选择一些数据,但我似乎无法掌握如何将其保存到我想要返回的 DTO 列表中。 我一直在查看这篇文章以了解使用 lambda 表达式的方向:C# Joins/Where with Linq and Lambda 但似乎那个人正在尝试完成与我略有不同的事情;我想比较值 CPR(来自 Coworkers 表)和值 CPR(来自表 Duties)并选择所有 Projektname(来自表 Duties)等于字符串 projektname 的那些。
到目前为止我所写的方法是这样的:
public List<CoworkerDTO> GetCoworkers(string projektname)
{
_coworkerlist = new List<CoworkerDTO>();
using (var context = new F17ST2ITS2201608275Entities())
{
var dataset =
from co in context.Coworkers
join du in context.Duties on co.CPR equals du.CPR
where du.Projektname == projektname
select new {Coworkers = co};
foreach (var element in dataset.ToList())
{
_coworkerlist.Add(element);
}
}
return _coworkerlist;
}
CoworkerDTO 如下所示:
class CoWorkerDTO
{
public string Fornavn { get; set; }
public string Efternavn { get; set; }
public int Alder { get; set; }
public string CPR { get; set; }
public decimal AntalTimer { get; set; }
}
表 Coworkers 有一列对应于上面的每个属性,所以我想我的问题是如何以某种方式将我得到的选择转换为 CoworkerDTO 列表。 很抱歉这篇长文,如果我的英语有点混乱,因为它不是我的第一语言。 在此先感谢:)
【问题讨论】:
标签: c# entity-framework linq