如何获取属于对象的项目列表?

时间:2012-08-16 13:37:16

标签: c# linq entity-framework ado.net linq-extensions

我有这样的事情:

class SomeClass 
{
     public int Id {get;set}
     public int someProperty1 {get;set;}
     public int someProperty2 {get;set;}
     public string someProperty3 {get;set;}
     public List<SomeObject> SomeObjects {get;set}
}

当我想获得这个类的属性时,我会这样做:

var db = new SomeClass();
var myClass = db.SomeClass.Single(class => class.Id == 1);

它完全正常,我可以获取所有属性,但List<SomeObject>属性始终为null。如何获得具有所有属性的单个myClass对象,以及SomeObject的列表?我知道我可以这样做:

var myList = db.SomeClass.SomeObjects.Single(...);

但我不想那样做,有没有其他方法可以立刻获得WHOLE对象?

2 个答案:

答案 0 :(得分:1)

如果您使用的是Entity Framework,则可以使用Include方法包含相关表格。请参阅文档here

var db = new Context();
var myClass = db.SomeClass.Include("SomeObject").Single(class => class.Id == 1);

答案 1 :(得分:0)

你正在为SomeClass制作一个新对象 您是否为其属性分配了值?

喜欢

var db = new SomeClass();
db.Id=1;
db.someProperty1 = 1;
db.someProperty2 = 2;
db.someProperty3 = "abc";
db.SomeObjects = objListOfSomeObject //list reference of SomeObject

或者您定义过的其他任何地方?

如何致电db.SomeClass