向EntityFramework DBset添加方法

时间:2013-07-16 07:57:21

标签: c# sql entity-framework entity-framework-5 .net-4.5

我正在使用EntityFramework 5,.NET 4.5 C#。我想将自定义SQL添加到Member DBset。我希望能够使用以下语句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");来做到这一点,我只是想知道是否有更明确的方法来做到这一点。

Database Diagram

1 个答案:

答案 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;
}