私は、Entity Frameworkコードファーストデータレイヤの一部として汎用リポジトリクラスを作成しています。すべてのエンティティは、以下で示すように、「ID」、それが動作するようid名を持っている場合は、idで単一の行を取得するには、次のC#Genericsで不明なプロパティにアクセスする方法
public T GetSingle(int id)
{
return GetAll().FirstOrDefault(x => x.ID == id);
}
しかし、私は「EnityName」+ IDとしての私のエンティティの主キーに名前を付けたいと思います
return GetAll().FirstOrDefault(x => x.<EntityName>Id == id);
動作するようにする:、などのAddressIdやApplicantIdようなコードを持ってする方法はありますか?
おかげ
してください、 'ExpandoObject'を見て:それを呼び出すhttps://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject(v=vs.110).aspx –
私はそれが可能であるとは思わない、あなたのすべてのエンティティ(インターフェイスによって実施される)に同じ名前のプロパティを持つことは、確かに行く方法です。 'EntityNameId'という名前のプロパティを持つ理由がありますか?プロパティの名前は、データベース内のカラムの名前と異なる場合があります( 'Column(" nameOfTheColumn ")属性を使用してください)。 –
名前を明記していただきありがとうございます。あなたが提案したルートを使用して、データ注釈を使用して列に名前を付けます。 – Massey