Linq to Entity-リストテンプレートMVCページにあるときにモデル内の別のテーブルに移動できますか

StackOverflow https://stackoverflow.com/questions/302650

質問

プロジェクトテンプレートソリューション(Dynamic Data Web Application)で、モデルを作成しましたが、すべて正常です。 -テーブルのリストを取得し、編集などを選択します。

しかし、データベースには、不正なキーのみを含むリンクテーブルがあるため、リストテンプレートにはfk値のみが表示されます

表の図

プライマリテーブルの行のリストを、fkに基づいて別のテーブルの検査と組み合わせることはできますか?

SQLの結合に似ていますか?しかし、Linq2EntityとMetaModelを使用していますか?

下はList.aspx.csです-これは標準グリッドをentitydatasourceにバインドしているように見えますが、これはMVCのルートに従って現在のテーブルにバインドされているようです。

しかし、ご覧のとおり、モデルを介してPerson、Role、およびLinkテーブルを照会し、他のフィールドを取得して、これが役立つようにする必要があります。 vstudio

PSは、可能であれば、これをLINQ2Entityで保持しようとします-grokを試みます

私がやりたいことは、値を取得して取得するために新しいSQLクエリをスピンオフすることです。しかし、これはこのイディオムではありません。

役に立ちましたか?

解決

dataContextを介してmetaModelを参照できます

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");

PSはあなたのコードを見て、これはsceanrioで動作します。モデルからテーブルを取得し、モデル内の各テーブルに返されたデータを検査できます

MetaModelに関するMSDNの記事

他のヒント

Linq to Entitiesモデルからこれを使用するUselful-

dataContextを使用すると、実際のデータを最も便利に取得できます。

metaModelは、基になるddlタイプ情報を提供するdataModelへのアクセスを許可します

//use the datacontext to get the underlying data
      using (brrdbEntities brr = new brr_dbEntities())
      {
          ObjectQuery<person> people = brr.person;
          IQueryable<string> names = from p in people select p.person_name;
          foreach (var name    in names)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top