请考虑以下代码:
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&lt; NestedObject&gt;它应该只能获取MainObjects然后在主要的内部查找NestedObjects。我的实验表明,情况并非如此。我想直接获得NestedObjects,如上例所示。在那种情况下:DbSet&lt; NestedObject&gt;完全定义?代码运行不是必需的......