我正在使用EntityFramework 5,.NET 4.5 C#。我想将自定义SQL添加到Member DBset。我希望能够使用以下语句Name
和Surname
进行选择
RosteringDBContainer db = new RosteringDBContainer();
var results = db.Members.Select("dave", "davidson"); //first name and surname
这应该执行SQL:
SELECT *
FROM Member
WHERE Name='{0}'
AND Surname='{1}';
我知道我可以使用扩展方法和db.Members.Execute("SQL Here");
来做到这一点,我只是想知道是否有更明确的方法来做到这一点。
答案 0 :(得分:4)
您可以为RosteringDBContainer.Members创建一个扩展方法,并使用linq获得所需的结果,代码看起来像这样:
public static IEnumerable<Member> SelectMembers(this DbSet<Member> members, string name, string surname)
{
return from m in members
where m.Name == name and m.Surname == usrname
select m;
}