在我的 Person 表中有一个 RequestedLocation 列,它存储位置 ID。ID 与 Locations 表中的 LocationId 列相匹配,Locations 表在 LocatioName 列中也有文本位置名称。
在我看来,我需要在将 Person 模型传递给它的视图中显示字符串 LocationName。该视图将在 Telerik 网格中显示人员列表。目前它工作得很好,除了 RequestedLocation 列都是整数。
我正在使用包含 LINQ 查询的方法填充我的所有网格。这是当前有效的方法:
public List<Person> GetPeople()
{
var query = from p in _DB.Person.ToList()
select p;
return query.ToList();
}
这是正常的 SQL 查询,我需要转换为 LINQ:
SELECT ApplicantID
,FirstName
,LastName
,MiddleName
,DateofBirth
,Gender
,RequestedVolunteerRole
,RequestedVolunteerLocation
,l.LocationName
FROM Form.Person p
JOIN dbo.Location l ON p.RequestedVolunteerLocation = l.LocationID
Order BY ApplicantID
这是我转换为 LINQ 的尝试:
public List<NewApplicantViewModel> GetPeople()
{
var query = from pl in _DB.Person.ToList()
join l in _Elig_DB.Locations.ToList() on pl.RequestedVolunteerLocation equals l.LocationID
select new
{
pl.RequestedVolunteerLocation = l.LocationName
};
return query.ToList();
我从中得到的错误数量很多,但大多数都是这样的:
Cannot convert from type Annonymous to Type List<NewAPplicantModel>
和
Invalid annonymous type declarator.
请帮忙,感谢您阅读我的帖子。
哦,我只编程了几个月,所以如果我把这一切都搞错了,请告诉我。我唯一需要坚持的是表结构,因为它是我正在更新的现有应用程序,更改位置或人员表会产生很大的后果。