1

私は EntityFramework 5、.NET 4.5 C# を使用しています。カスタム SQL をメンバー 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");のより明示的な方法があるかどうかを知りたいだけです。

データベース図

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 に答える