私の言葉が意味をなさないことを願っています...私は自分が探していることを説明する方法を正確にはわかりませんでした。Entity Frameworkモデルの "リレー"または "汎用化"プロパティを作成できますか?
私は次のようにエンティティのリストを返すジェネリッククラスのメソッドを持っています。
public abstract class ChildCRUDController<TModel> : CRUDController<TModel, ... >
where TModel : IChildEntity
public ViewResult List(int id)
{
return View(repository.GetMany(x => x.ParentID == id));
}
このコントローラは、かなりの数の他のコントローラによって実装されます。私が持っている問題は、IChildEntityを実装するすべてのエンティティが同じ親タイプを持つわけではないということです。この問題を回避するために、IChildEntityを実装するすべてのモデルのParentIDプロパティを作成し、同じコントローラを使用できるようにしました。私はリストのメソッドを呼び出すときに、私は次のエラーを取得する上で
public partial class PhoneNumber : IChildEntity
{
public int ParentID
{
get { return CustomerID; }
set { CustomerID = ParentID; }
}
}
と...
public partial class Transaction : IChildEntity
{
public int ParentID
{
get { return LeaseID; }
set { LeaseID= ParentID; }
}
}
しかし:
The specified type member 'ParentID' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
は、私は私が結果を達成することができる任意の方法はありますオブジェクトセットをメモリにプルしたり、エンティティ自体のすべてのプロパティの名前を変更せずに探していますか?
ありがとうございます!
ダイナミックLINQライブラリを認識していませんでした。ありがとう! –