2016-07-29 12 views
0

私は現在、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クラスのものを認識しません。

答えて

0

EDITは:私の質問には多くのタイプミスのため

using System.Linq; 

DbContext -> DbSet -> Where clause is missing (Entity Framework 6)

+0

Appologies:私は、ユーザーが使用して文を欠落していたスタックオーバーフローのポストを見つけました。平等オペレーターは問題ではありません。 .Where()関数は利用可能な関数として認識されません。しかし私は私の質問を修正します – Brenketsu

+0

あなたはエンティティフレームワークを使用していますか?エンティティフレームワークを使用するときにdbcontextを編集する必要がないため、私は尋ねます。私はほとんどのプロジェクトで最初にDBを使用しますが、私にとってはダイアグラムに行き、左クリックでデータベースからの更新を選択し、新しいDBテーブルを追加し、コンテキストが自動的に更新されます。 –

+0

はい、EFを使用しています。コントローラを追加して空にするときにLinqを標準としてインポートします。 – Brenketsu

関連する問題