2017-02-05 13 views
0

シンプルなプロジェクトを作成するためにSQL Server 2014でC#とEntity Frameworkを使用しています。ラムダがオブジェクトを返すときのTargetInvocationException

私は "UserDomain"という名前のモデルクラスを持っています(Entityのテーブルです)。

私は、LINQが完全のIQueryableを返すことができます:

(from user in Context.Users select user).ToList(); 

または

FirstOrDefault(); 

(from user in Context.Users select user); 

しかし、私は、たとえば、例外が発生UserDomainの返すメソッドを呼び出すとき

奇妙なのはCount()が1を返します。これはヌルでないことを示し、au jfrodeと呼ばれるベースのser。コードにusers.Any (x => x.Login ==" jfrode ")を使用すると、trueを返します。

のStackTracehttps://gist.github.com/anonymous/4daf1ac3ce6536b262a69785577c6dfe

GitHubのプロジェクトhttps://github.com/JFRode/FrenteDeCaixa

ありがとう!

+0

は、おそらくCount = 1を返しますが、それでもnull値になる可能性があります。ブレークポイントで確認してください! – Madenis

+0

ベースにjfrodeというユーザーがいます。コード内で 'users.Any(x => x.Login ==" jfrode ")'を使用すると、trueを返します。 –

+0

ユーザー(jfrodeを含む)とContext.Usersの違いは何ですか? – KernelMode

答えて

0

問題を解決しました。

私のドメインやモデルでは、パラメータを持たないコンストラクタがないのでエラーが発生します。

ビルダーで使用しているので、私はmultiparameterコンストラクターを使用していました。 しかし、空のコンストラクタも宣言する必要があります。

ありがとうございました!

関連する問題