私のPersonテーブルには、ロケーションIDを格納するRequestedLocation列があります。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.
助けてください、そして私の投稿を読んでくれてありがとう。
ああ、私はプログラミングを始めて数か月しか経っていないので、これがすべて間違っている場合は、私に知らせてください。私が固執しなければならないのはテーブル構造だけです。これは私が更新している既存のアプリであり、場所や人物のテーブルを変更すると大きな影響があります。