1

我正在使用 EntityFramework 5、.NET 4.5 C#。我想将自定义 SQL 添加到成员数据库集。我希望能够通过NameSurname使用以下语句进行选择

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");,我只是想知道是否有更明确的方式来做到这一点。

数据库图

4

1 回答 1

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;
}
于 2013-07-16T08:05:05.283 回答