mvc3 dapperモデルからマッピングが存在しません

asp.net-mvc-3 dapper tolist

質問

私はdapperでいくつかのコーディングをしていますが、エラーが発生しますオブジェクトタイプから既知のマネージプロバイダのネイティブタイプへのマッピングがありません。このエラーは、dapperのmyfriends varで発生します。私はテーブルからINT値のリストを取得し、別のものと比較するためにdapperを使用しています。これは私にそのエラーを与えるコードです

   int myid = Convert.ToInt32(User.Identity.Name);
 // The var myfriend is giving me that error above
            var myfriends = sqlConnection.Query<friend>("Select otherfriendsID from friends where profileID=@myidd", new { myidd = myid }).ToList();

            var profiles = sqlConnection.Query<profile>("Select top 40 * from profiles where photo is not null AND profileID=@friendship order by profileID desc", new {friendship=myfriends}).ToList();

しかし、私はエンティティを使用する場合、すべての作品は、たとえば、このコードは、下の作品は..

            var myfriends = (from s in db.friends where s.profileID == myid select s.otherfriendsID).ToList();

ここで何が起こっているかも..

受け入れられた回答

myfriendsList<friend>です。それをクエリパラメータとして渡します。

new {friendship=myfriends}

with:

AND profileID=@friendship

今、... @friendship@friendshipですか?ここでList<friend>どのように渡すべきですか?それは、オブジェクトのリスト(それぞれが複数のプロパティを持つことができる)を単一のパラメータとして渡すこと意味しますか? (注:私はこの質問の目的のためにテーブル値パラメータを無視しています)

それで、あなたは何人のmyfriends何を期待myfriendsいますか? 0? 1?いずれかの番号?たとえば、次のようになります。

var profileIds = myfriends.Select(x => x.ProfileId);
...
new {profileIds}
...
AND profileID in @profileIds

または多分:

new {profileId = myfriends.Single().ProfileId}
...
AND profileID = @profileId


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ