私は現在、Asp.NET MVCを学んでいる、私はVs2015からボックステンプレートのOufを開始しているが、私は、カスタム・テーブルからデータを取得する問題を抱えていますVSコミュニティ2015 MVCテンプレート -
ゴールカスタムモデルにアクセスできません。 :
public virtual ICollection<UserContact> ContactsList { get; set; }
とT:
public class UserContact
{
[Key]
public virtual int Id { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual ApplicationUser Contact { get; set; }
}
は、私も私のアプリケーションのユーザーに次の追加しました:私の目標は、以下のクラスを使用して標準ApplicationUserのための連絡先リストを追加することです
public DbSet<UserContact> UserContacts { get; set; }
問題は、私は句がまったく認識されませんザ・
ApplicationDbContext db = new ApplicationDbContext();
var UserId = SomUserID
db.UserContacts.Where(x => x.User == UserId)
を使用して、私の、カスタマーコントローラContactControllerからUSerContactsテーブルにアクセスしようとするということである:彼は私のApplicationDbContextに行を次のよう。私はuseedたコマンド 可能に移行
アドオン移行ContactsListエラーなしで走り、テーブルがデータベースに今ある
更新データベース
。しかし、私はテーブルにアクセスすることができません。どうして?私は何を間違えているのですか?
.Where機能は、私の場合
にDbSetで使用できず、Vs2015で新しい空のコントローラを追加するとき、これは標準であるとしてLINQがインポートされているかのようにVSに応じて、それがあることに注意してください。私は私のコントローラ
「DBで使用する場合、 IdentiyDbContextクラスは、私は連絡先クラスを含む任意の他のテーブルにアクセスできないので、:
データベースがアップデート - データベース
中に作成されました。しかしApplicationDbContextが。 UserContacts.Where < x => x.User == someID>(); "
x.UserがUserContactクラスのものを認識しません。
Appologies:私は、ユーザーが使用して文を欠落していたスタックオーバーフローのポストを見つけました。平等オペレーターは問題ではありません。 .Where()関数は利用可能な関数として認識されません。しかし私は私の質問を修正します – Brenketsu
あなたはエンティティフレームワークを使用していますか?エンティティフレームワークを使用するときにdbcontextを編集する必要がないため、私は尋ねます。私はほとんどのプロジェクトで最初にDBを使用しますが、私にとってはダイアグラムに行き、左クリックでデータベースからの更新を選択し、新しいDBテーブルを追加し、コンテキストが自動的に更新されます。 –
はい、EFを使用しています。コントローラを追加して空にするときにLinqを標準としてインポートします。 – Brenketsu