0

データベース オブジェクトの 1 対多の関係でさまざまなアイテムを取得しようとしています。そのため、エンティティ フレームワークにロケーション オブジェクトを作成させ、テーブルの 1 つの列に、そのロケーションで利用可能なサービスのカンマ区切りのリストを含めます。私が使う:

var data = pubDB.Locations.Include("Branch_Ameneties");

モデルで、2 つのテーブル間の関係を取得します。次に、ビューで配列内の機能を反復処理し、関連するブランチ アメニティを取得しようとしています。

@foreach (var Location in Model.LocationListings())
{
@if (Location.Features != null)
                {
                    string[] featureset = Location.Features.Split(',');
                    foreach (var item in featureset)
                    {
                        var feature = Location.Branch_Ameneties.Amenity.Where(x => Location.Branch_Ameneties.FID = Convert.ToInt32(item);
                        @feature
                    }
                }

そして、配列をamentiitesの参照テーブルに関連付けることができないようです。

4

1 に答える 1

0

where句を使用する代わりに、次を使用してみてください。

  var feature = Location.Branch_Ameneties.Amenity.Single(x => Location.Branch_Ameneties.FID == Convert.ToInt32(item));

また、「..FID == Convert...」の代わりに「..FID = Convert.ToInt32(item)」がありました。

于 2012-11-19T17:35:01.800 に答える