0
У меня есть три простых классовКак добавить комплексное свойство EF Code First
public class Asset
{
public int ID {get;set;}
public virtual Category {get;set;}
}
public class Category
{
public int ID {get;set;}
}
public class AssetCollection
{
public int ID {get;set;}
public virtual ICollection<Asset> Assets {get;set;}
??????public bool HasAssetWithCategory(int ID)
{
????????????
}
}
Я хочу, чтобы иметь возможность выбрать из контекстного HasAssetWithCategory как этот
var assets = context.AssetCollections.Where(m => m.HasAssetWithCategory(SomeID));
я не имею понятия, даже, с чего начать ,
Так что я не могу добавить это как свойство, но вместо этого мне нужно написать это в любом месте, я должен его использовать? :( – SpoksST
Вы можете добавить метод для него в свой контекст или обернуть всю вещь в репозитории. – Stu
Этот вопрос вызвал у меня интерес к внедрению методов расширения в EF. Есть несколько связанных пост на codereview о создании общего вспомогательного метода для генерировать POCOs для объекта - http://codereview.stackexchange.com/questions/3895/creating-extension-method-to-map-entity-with-subentities-object-to-poco-object. Прочитать некоторые комментарии там, где они могут помочь вам в этой задаче, в частности, передавая «SomeID» экземпляру «MemberInitExpression» http://msdn.microsoft.com/en-us/library/bb301790.aspx. Практически говоря, мне нравится сглаживать мои сущности в модели просмотра. –