Asp.net mvc 3 mvc3 dapper模型中不存在映射

Asp.net mvc 3 mvc3 dapper模型中不存在映射,asp.net-mvc-3,dapper,tolist,Asp.net Mvc 3,Dapper,Tolist,我正在dapper中进行一些编码,得到一个错误从对象类型到已知托管提供程序本机类型的映射不存在此错误发生在dapper的myfriends变量上。我使用dapper从表中获取INT值列表,然后将它们与另一个进行比较。。这就是给我这个错误的代码 int myid = Convert.ToInt32(User.Identity.Name); // The var myfriend is giving me that error above var myfriends

我正在dapper中进行一些编码,得到一个错误从对象类型到已知托管提供程序本机类型的映射不存在此错误发生在dapper的myfriends变量上。我使用dapper从表中获取INT值列表,然后将它们与另一个进行比较。。这就是给我这个错误的代码

   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();

这里可能发生了什么

myfriends
是一个
列表
。然后将其作为查询参数传入,即

new {friendship=myfriends}
与:

现在。。。什么是友谊?它应该如何在这里传递
列表
?将对象列表(每个对象可能有多个属性)作为单个参数传递意味着什么?(注意:出于这个问题的目的,我忽略了表值参数)

那么:你希望我有多少朋友?0? 1.有号码吗?例如,这可能是:

var profileIds = myfriends.Select(x => x.ProfileId);
...
new {profileIds}
...
AND profileID in @profileIds
或者可能:

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

myfriends将有大约20-50人的列表,非常感谢var ProfileId=myfriends;根据您的经验,您认为在扫描包含大量记录的数据库表时,以这种方式使用的Dapper会比Entity更快吗?@user,这取决于所使用的查询、所使用的库和所使用的技术:但基本上,“是的,我认为这将是最快的”
var profileIds = myfriends.Select(x => x.ProfileId);
...
new {profileIds}
...
AND profileID in @profileIds
new {profileId = myfriends.Single().ProfileId}
...
AND profileID = @profileId