LINQで変換できるプロパティを作成する方法に興味があります。以下は非常に簡単な例です。
Category
それ自体にリンクする列を持つテーブル/クラスがありParentId
ます(したがって、カテゴリはサブカテゴリを持つことができます)
EFCategory1
は、親カテゴリであるプロパティを自動的に生成します。
わかりやすくするために、別のプロパティを作成しました
public partial class Category
{
public Category Parent
{
get { return Category1; }
}
}
問題は、これが機能することです
var categs = ctx.Categories.Where(x => x.Category1 == null);
しかし、これは機能しません
var categs = ctx.Categories.Where(x => x.Parent == null);
指定されたタイプメンバー'Parent'は、LINQtoEntitiesではサポートされていません。初期化子、エンティティメンバー、およびエンティティナビゲーションプロパティのみがサポートされます。
.ToList()を実行せずに翻訳可能なプロパティ(LINQからSQL)を作成する方法はありますか?
編集:データベースは開発中に頻繁に変更され、.edmxを再作成する必要があることが多いため、Model.edmxには触れないようにします