#entity-framework #entity-framework-6
#entity-framework #entity-framework-6
Вопрос:
Рассмотрим следующий код:
public class MainObject
{
public int Id { get; set; }
List<NestedObject> NestedObjects { get; set; }
}
public class NestedObject
{
public int Id { get; set; }
public string Name { get; set; }
}
public class ExampleContext : DbContext
{
DbSet<MainObject> MainObjects { get; set; }
// Should it be here? Code works without it...
// DbSet<NestedObject> NestedObjects { get; set; }
}
// ( ... )
var nestedFooObjects = exampleContext.Get<NestedObject>()
.Where(obj => obj.Name == "foo").ToList(); // still works
У меня сложилось впечатление, что DbContext должен содержать все таблицы, к которым можно получить прямой доступ из кода. Таким образом, без DbSet< NestedObject > должно быть возможно только получение MainObjects, а затем поиск вложенных объектов внутри основных. По-видимому, это не так, как показывают мои эксперименты. Я хочу получить NestedObjects напрямую, как в примере выше. В таком случае: должен ли DbSet< NestedObject > быть определен вообще? Это не обязательно для запуска кода…
Комментарии:
1. Не могли бы вы, пожалуйста, поделиться своим кодом инициализации / конфигурации EF, в котором вы сопоставили классы сущностей с таблицами БД?
2. Я не совсем уверен, что понимаю ваш вопрос. Я использую подход, основанный на коде, поэтому классы и DbContext — это практически все, что у меня есть.